首頁 >後端開發 >PHP問題 >php怎麼檢測數組中是否有空值

php怎麼檢測數組中是否有空值

青灯夜游
青灯夜游原創
2022-10-09 18:17:572354瀏覽

偵測步驟:1、利用array_filter()函數過濾數組,去掉空值元素,語法“array_filter(原始數組)”,會傳回一個過濾數組;2、利用count()函數取得原始數組和過濾數組的長度,語法“count(原數組)”和“count(過濾數組)”;3、判斷原始數組長度是否等於過濾數組長度,語法“原始數組長度==過濾數組長度”,如果等於則數組中沒有空值,如果不等於則數組中有空值。

php怎麼檢測數組中是否有空值

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

在php中,可以利用array_filter()、 count()函數和「==」運算子來偵測數組中是否有空值。

實作步驟:

步驟1:利用array_filter()函數過濾數組,移除空值元素

array_filter() 函數用回呼函數過濾陣列中的元素。

此函數把輸入陣列中的每個鍵值傳給回呼函數。如果回呼函數傳回 true,則把輸入數組中的目前鍵值傳回給結果陣列。數組鍵名保持不變。

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
參數 描述
#array 必要。規定要過濾的陣列。
callback 可選。規定要用的回呼函數。


#flag

可選。決定callback 接收的參數形式:

  • ARRAY_FILTER_USE_KEY - callback 接受鍵名作為的唯一參數
  • ARRAY_FILTER_USE_BOTH - callback 同時接受鍵名和鍵值

如果沒有回呼函數,那麼預設就是刪除數組中值為false(空值)的項目,會傳回一個包含全部true元素的過濾數組。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
$arr=array(&#39;foo&#39;,false,-1,null,&#39;&#39;);  
var_dump($arr);
$filte=array_filter($arr);
echo "过滤数组后:";
var_dump($filte);
?>

php怎麼檢測數組中是否有空值

步驟2:利用count()函數取得原始數組和過濾數組的長度

count() 函數可以傳回數組中元素的數目,即數組的長度。

$len1=count($arr);
$len2=count($filte);

步驟3:判斷原數組長度是否等於過濾數組長度

$len1==$len2;
  • 如果等於,則數組中沒有空值(即沒有過濾元素)

  • 如果不等於,則數組中有空值(即有過濾掉了一些元素)

實現程式碼:

function f($arr){
	$filte=array_filter($arr);
	echo "过滤数组后:";
	var_dump($filte);
	$len1=count($arr);
	$len2=count($filte);
	if($len1==$len2){
		echo "数组中没有空值<br>";
	}else{
		echo "数组中有空值<br>";
	}
}

範例1:呼叫f($arr)函數

$arr=array(&#39;foo&#39;,false,-1,null,&#39;&#39;);  
var_dump($arr);
f($arr);

php怎麼檢測數組中是否有空值

範例2:

$arr=array(&#39;foo&#39;,1,2,3);  
var_dump($arr);
f($arr);

php怎麼檢測數組中是否有空值

【相關推薦:javascript影片教學web前端入門

以上是php怎麼檢測數組中是否有空值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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