兩種移除方法: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()函數
<?php header("Content-type:text/html;charset=utf-8"); function f($arr){ foreach ($arr as $k=>$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() 認為是空的:
函數用來銷毀給定的變數。 推薦學習:《
以上是php怎去掉值為空的陣列元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!