php怎麼檢測陣列中是否有空值

2022-10-09 22:01:28

檢測步驟: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 接收的引數形式:

  • ARRAY_FILTER_USE_KEY - callback 接受鍵名作為的唯一引數
  • ARRAY_FILTER_USE_BOTH - 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);
?>
登入後複製

1.png

步驟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.png

範例2:

$arr=array('foo',1,2,3);  
var_dump($arr);
f($arr);
登入後複製

3.png

【相關推薦:、】

以上就是php怎麼檢測陣列中是否有空值的詳細內容,更多請關注TW511.COM其它相關文章!