您好,登錄后才能下訂單哦!
本篇內容介紹了“php如何去掉值為空的數組元素”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
兩種去除方法:1、使用array_filter()函數,可以過濾數組,刪除空值元素,語法“array_filter($arr)”。2、利用foreach語句循環遍歷關聯數組,在循環體中利用empty()判斷空值元素,并用unset()函數根據鍵名刪除該元素,語法“foreach($arr as $k=>$v){if(empty($v)){unset($arr[$k]);}}”。
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
方法1:使用array_filter()函數過濾數組,刪除值為空的元素
array_filter()函數,也稱為回調函數,是用于使用用戶定義的函數來過濾數組的元素。它迭代數組中的每個值,將它們傳遞給用戶定義的函數或回調函數。
當使用array_filter()函數來聲明回調函數時,它會刪除false值(空值),但是,如果未指定回調函數,則將刪除數組中值等于FALSE的所有元素,例如空字符串或NULL值。
實現代碼
function f($arr){
$newarr = array_filter($arr);
echo "過濾后的數組:";
var_dump($newarr);
}
調用f($arr)函數
$arr = array(11,'',null,12,false,0);
var_dump($arr);
f($arr);
方法2:foreach語句+empty()函數+unset()函數
利用foreach語句循環遍歷數組
在循環體中,利用empty()一個個判斷數組元素是否為空值,利用unset()函數根據鍵名刪除空值
實現代碼:
$v){
if(empty($v)){
unset($arr[$k]);
}
}
echo "過濾后的數組:";
var_dump($arr);
}
$arr = array(11,'1','',' ','0','0.0',0.0,null,12,false,0);
var_dump($arr);
f($arr);
?>
函數說明:
empty()
函數用于檢查一個變量是否為空。
empty() 判斷一個變量是否被認為是空的。當一個變量并不存在,或者它的值等同于 FALSE,那么它會被認為不存在。如果變量不存在的話,empty()并不會產生警告。
以下值會被empty() 認為是空的:
"" (空字符串)
0 (作為整數的0)
0.0 (作為浮點數的0)
"0" (作為字符串的0)
NULL
FALSE
array() (一個空數組)
$var; (一個聲明了,但是沒有值的變量)
unset()
函數用于銷毀給定的變量。
“php如何去掉值為空的數組元素”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。