兩種去除方法:1、利用foreach語句循環遍歷關聯數組,在循環體中利用unset()函數根據鍵名刪除空值元素即可,語法「foreach($arr as $k= >$v){if(!$v){unset($arr[$k]);}}」。 2.使用array_filter()函數過濾關聯數組,刪除空值元素(數組中值等於FALSE的所有元素),語法「array_filter($arr)」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php關聯數組中去掉空值的兩種方法
#方法1:foreach語句unset()函數
1、利用foreach語句循環遍歷關聯數組
foreach ($array as $key => $value){ 循环语句块; }
遍歷給定的 $array 數組,每次循環中都會將目前數組的值賦給 $value,而鍵名賦給 $key。
2、在循環體中,一個個判斷數組元素是否為空值,利用unset()函數根據鍵名刪除空值
if( !$value ){ unset( $arr[$key] ); }
完整程式碼:
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1=>"1","a"=>"",2=>"2","b"=>0,"c"=>"blue"); var_dump($arr); foreach ($arr as $k=>$v){ if( !$v ){ unset($arr[$k]); } } var_dump($arr); ?>
方法2:使用array_filter()函數過濾關聯數組,刪除空值元素
array_filter()函數,也稱為回調函數,是用於使用使用者定義的函數來過濾數組的元素。它迭代數組中的每個值,將它們傳遞給使用者定義的函數或回調函數。
當使用array_filter()函數來宣告回呼函數時,它會刪除false值(空值),但是,如果未指定回呼函數,則將刪除數組中值等於FALSE的所有元素,例如空字串或NULL值。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(11,'',null,12,false,0); var_dump($arr); $newarr = array_filter($arr); echo "过滤后的数组:"; var_dump($newarr); ?>
推薦學習:《PHP影片教學》
以上是php關聯數組中怎麼去掉空值的詳細內容。更多資訊請關注PHP中文網其他相關文章!