首頁 >後端開發 >PHP問題 >php怎去掉值為空的陣列元素

php怎去掉值為空的陣列元素

青灯夜游
青灯夜游原創
2022-09-28 19:01:514036瀏覽

兩種移除方法:1、使用array_filter()函數,可以過濾數組,刪除空值元素,語法「array_filter($arr)」。 2.利用foreach語句循環遍歷關聯數組,在循環體中利用empty()判斷空值元素,並用unset()函數根據鍵名刪除該元素,語法「foreach($arr as $k=>$v) {if(empty($v)){unset($arr[$k]);}}」。

php怎去掉值為空的陣列元素

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

方法1:使用array_filter()函數過濾數組,刪除值為空的元素

array_filter()函數,也稱為回調函數,是用於使用使用者定義的函數來過濾數組的元素。它迭代數組中的每個值,將它們傳遞給使用者定義的函數或回調函數。

當使用array_filter()函數來宣告回呼函數時,它會刪除false值(空值),但是,如果未指定回呼函數,則將刪除數組中值等於FALSE的所有元素,例如空字串或NULL值。

實作程式碼

function f($arr){
	$newarr = array_filter($arr); 
	echo "过滤后的数组:";
	var_dump($newarr);
}

呼叫f($arr)函數

$arr = array(11,'',null,12,false,0); 
var_dump($arr);
f($arr);

php怎去掉值為空的陣列元素

##方法2:foreach語句empty()函數unset()函數

  • #利用foreach語句循環遍歷數組

  • #在循環體中,利用empty()一個個判斷數組元素是否為空值,並利用unset()函數根據鍵名刪除空值

  • ##實作程式碼:

<?php
header("Content-type:text/html;charset=utf-8");
function f($arr){
	foreach ($arr as $k=>$v){
	    if(empty($v)){
			unset($arr[$k]);  
		}
	}

	echo "过滤后的数组:";
	var_dump($arr);
}


$arr = array(11,&#39;1&#39;,&#39;&#39;,&#39; &#39;,&#39;0&#39;,&#39;0.0&#39;,0.0,null,12,false,0); 
var_dump($arr);
f($arr);
?>

php怎去掉值為空的陣列元素

函數說明:

#empty()

 函數用來檢查變數是否為空。 empty() 判斷變數是否被認為是空的。當一個變數並不存在,或它的值等同於 FALSE,那麼它會被認為不存在。如果變數不存在的話,empty()並不會產生警告。

以下值會被empty() 認為是空的:

    "" (空字串)
  • 0 (作為整數的0)
  • 0.0 (作為浮點數的0)
  • "0" (作為字串的0)
  • NULL
  • FALSE
  • #array() (一個空數組)
  • $var; (一個宣告了,但是沒有值的變數)
#unset()

 函數用來銷毀給定的變數。 推薦學習:《

PHP影片教學

以上是php怎去掉值為空的陣列元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn