檢測步驟:1、利用array_filter()函數過濾陣列,去除空值元素,語法「array_filter(原陣列)」,會返回一個過濾陣列;2、利用count()函數獲取原陣列和過濾陣列的長度,語法「count(原陣列)」和「count(過濾陣列)」;3、判斷原陣列長度是否等於過濾陣列長度,語法「原陣列長度==過濾陣列長度」,如果等於則陣列中沒有空值,如果不等於則陣列中有空值。
php入門到就業線上直播課:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:
本教學操作環境: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 接收的引數形式:
|
如果沒有回撥函數,那麼預設就是刪除陣列中值為false(空值)的專案,會返回一個包含全部true元素的過濾陣列。
<?php
header('content-type:text/html;charset=utf-8');
$arr=array('foo',false,-1,null,'');
var_dump($arr);
$filte=array_filter($arr);
echo "過濾陣列後:";
var_dump($filte);
?>
登入後複製
步驟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 "陣列中沒有空值
";
}else{
echo "陣列中有空值
";
}
}
登入後複製
範例1:呼叫f($arr)函數
$arr=array('foo',false,-1,null,'');
var_dump($arr);
f($arr);
登入後複製
範例2:
$arr=array('foo',1,2,3);
var_dump($arr);
f($arr);
登入後複製
【相關推薦:、】
以上就是php怎麼檢測陣列中是否有空值的詳細內容,更多請關注TW511.COM其它相關文章!