首頁 >後端開發 >PHP問題 >php怎麼判斷數組所有值是否都不為空

php怎麼判斷數組所有值是否都不為空

青灯夜游
青灯夜游原創
2022-09-09 20:21:051885瀏覽

步驟:1、使用array_filter()函數過濾數組,語法“array_filter(原始數組);”,會傳回一個包含所有不為空元素的數組;2、使用count()函數取得原始數組和過濾數組的長度,並比較兩數組長度是否相等,語法“count(原始數組)==count(過濾數組)”,如果相等則數組所有值都不為空,如果不相等則數組中有值為空。

php怎麼判斷數組所有值是否都不為空

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

在php中,可以使用array_filter()和count()函數來判斷陣列所有值是否都不為空

判斷步驟:

步驟1:利用array_filter( )函數過濾數組,取得不為空的元素

  • array_filter()過濾數組,傳回符號條件的元素

array_filter函數的功能是利用回呼函數來對數組進行過濾,一直以為用回調函數才能處理,卻沒有發現手冊下面還有一句,如果沒有回調函數,那麼預設就是刪除數組中值為false的項目。

$res=array_filter($arr);

會傳回一個包含所有不為空元素的過濾數組

#步驟2:使用count()函數取得原始數組和過濾數組的長度,並比較兩個數組的長度是否相等

count(原数组)==count(过滤数组)
  • 如果相等,則數組所有值都不為空(因為沒有過濾掉任何一個元素)

  • 如果不相等,則陣列中有值為空

完整實例程式碼:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
$arr=array(1,&#39;h&#39;,TRUE,FALSE,null,99,100);
var_dump($arr);

echo "过滤后的数组:";
$res=array_filter($arr);
var_dump($res);

if(count($arr)==count($res)){
	echo "数组所有值都不为空";
}else{
	echo "数组中有值为空";
}
?>

php怎麼判斷數組所有值是否都不為空

說明:

array_filter() 函數

array_filter() 函式用回呼函數過濾陣列中的元素,會傳回一個過濾後的陣列。    

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

array array_filter ( $array , 回调函数 )

推薦學習:《PHP影片教學

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

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