您好,登錄后才能下訂單哦!
這篇文章主要講解了“php如何檢測(cè)數(shù)組中是否有空值”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php如何檢測(cè)數(shù)組中是否有空值”吧!
檢測(cè)步驟:1、利用array_filter()函數(shù)過濾數(shù)組,去除空值元素,語法“array_filter(原數(shù)組)”,會(huì)返回一個(gè)過濾數(shù)組;2、利用count()函數(shù)獲取原數(shù)組和過濾數(shù)組的長(zhǎng)度,語法“count(原數(shù)組)”和“count(過濾數(shù)組)”;3、判斷原數(shù)組長(zhǎng)度是否等于過濾數(shù)組長(zhǎng)度,語法“原數(shù)組長(zhǎng)度==過濾數(shù)組長(zhǎng)度”,如果等于則數(shù)組中沒有空值,如果不等于則數(shù)組中有空值。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在php中,可以利用array_filter()、count()函數(shù)和“==”運(yùn)算符來檢測(cè)數(shù)組中是否有空值。
實(shí)現(xiàn)步驟:
步驟1:利用array_filter()函數(shù)過濾數(shù)組,去除空值元素
array_filter() 函數(shù)用回調(diào)函數(shù)過濾數(shù)組中的元素。
該函數(shù)把輸入數(shù)組中的每個(gè)鍵值傳給回調(diào)函數(shù)。如果回調(diào)函數(shù)返回 true,則把輸入數(shù)組中的當(dāng)前鍵值返回給結(jié)果數(shù)組。數(shù)組鍵名保持不變。
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定要過濾的數(shù)組。 |
callback | 可選。規(guī)定要用的回調(diào)函數(shù)。 |
flag | 可選。決定 callback 接收的參數(shù)形式:
|
如果沒有回調(diào)函數(shù),那么默認(rèn)就是刪除數(shù)組中值為false(空值)的項(xiàng)目,會(huì)返回一個(gè)包含全部true元素的過濾數(shù)組。
步驟2:利用count()函數(shù)獲取原數(shù)組和過濾數(shù)組的長(zhǎng)度
count() 函數(shù)可以返回?cái)?shù)組中元素的數(shù)目,即數(shù)組的長(zhǎng)度。
$len1=count($arr);
$len2=count($filte);
步驟3:判斷原數(shù)組長(zhǎng)度是否等于過濾數(shù)組長(zhǎng)度
$len1==$len2;
如果等于,則數(shù)組中沒有空值(即沒有過濾元素)
如果不等于,則數(shù)組中有空值(即有過濾掉了一些元素)
實(shí)現(xiàn)代碼:
function f($arr){
$filte=array_filter($arr);
echo "過濾數(shù)組后:";
var_dump($filte);
$len1=count($arr);
$len2=count($filte);
if($len1==$len2){
echo "數(shù)組中沒有空值
";
}else{
echo "數(shù)組中有空值
";
}
}
示例1:調(diào)用f($arr)函數(shù)
$arr=array('foo',false,-1,null,'');
var_dump($arr);
f($arr);
示例2:
$arr=array('foo',1,2,3);
var_dump($arr);
f($arr);
感謝各位的閱讀,以上就是“php如何檢測(cè)數(shù)組中是否有空值”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)php如何檢測(cè)數(shù)組中是否有空值這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。