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

青灯夜游
發布: 2023-03-16 22:18:02
原創
2292 人瀏覽過

偵測步驟: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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板