兩種去除方法:1、使用array_filter()函數(shù),可以過濾數(shù)組,刪除空值元素,語法“array_filter($arr)”。2、利用foreach語句循環(huán)遍歷關(guān)聯(lián)數(shù)組,在循環(huán)體中利用empty()判斷空值元素,并用unset()函數(shù)根據(jù)鍵名刪除該元素,語法“foreach($arr as $k=>$v){if(empty($v)){unset($arr[$k]);}}”。
php入門到就業(yè)線上直播課:進入學習
API 文檔、設(shè)計、調(diào)試、自動化測試一體化協(xié)作工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
方法1:使用array_filter()函數(shù)過濾數(shù)組,刪除值為空的元素
array_filter()函數(shù),也稱為回調(diào)函數(shù),是用于使用用戶定義的函數(shù)來過濾數(shù)組的元素。它迭代數(shù)組中的每個值,將它們傳遞給用戶定義的函數(shù)或回調(diào)函數(shù)。
當使用array_filter()函數(shù)來聲明回調(diào)函數(shù)時,它會刪除false值(空值),但是,如果未指定回調(diào)函數(shù),則將刪除數(shù)組中值等于FALSE的所有元素,例如空字符串或NULL值。
實現(xiàn)代碼
function f($arr){ $newarr = array_filter($arr); echo "過濾后的數(shù)組:"; var_dump($newarr); }
調(diào)用f($arr)函數(shù)
$arr = array(11,'',null,12,false,0); var_dump($arr); f($arr);
方法2:foreach語句+empty()函數(shù)+unset()函數(shù)
-
利用foreach語句循環(huán)遍歷數(shù)組
-
在循環(huán)體中,利用empty()一個個判斷數(shù)組元素是否為空值,利用unset()函數(shù)根據(jù)鍵名刪除空值
實現(xiàn)代碼:
$v){ if(empty($v)){ unset($arr[$k]); } } echo "過濾后的數(shù)組:"; var_dump($arr); } $arr = array(11,'1','',' ','0','0.0',0.0,null,12,false,0); var_dump($arr); f($arr); ?>
函數(shù)說明:
empty()
函數(shù)用于檢查一個變量是否為空。
empty() 判斷一個變量是否被認為是空的。當一個變量并不存在,或者它的值等同于 FALSE,那么它會被認為不存在。如果變量不存在的話,empty()并不會產(chǎn)生警告。
以下值會被empty() 認為是空的:
-
"" (空字符串)
-
0 (作為整數(shù)的0)
-
0.0 (作為浮點數(shù)的0)
-
"0" (作為字符串的0)
-
NULL
-
FALSE
-
array() (一個空數(shù)組)
-
$var; (一個聲明了,但是沒有值的變量)
unset()
函數(shù)用于銷毀給定的變量。
推薦學習:《PHP視頻教程》