php怎去掉值為空的陣列元素

2022-09-28 22:00:46

兩種去除方法:1、使用array_filter()函數,可以過濾陣列,刪除空值元素,語法「array_filter($arr)」。2、利用foreach語句迴圈遍歷關聯陣列,在迴圈體中利用empty()判斷空值元素,並用unset()函數根據鍵名刪除該元素,語法「foreach($arr as $k=>$v){if(empty($v)){unset($arr[$k]);}}」。

php入門到就業線上直播課:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:

本教學操作環境: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);
登入後複製

1.png

方法2:foreach語句+empty()函數+unset()函數

  • 利用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);
?>
登入後複製

2.png

函數說明:

empty() 函數用於檢查一個變數是否為空。

empty() 判斷一個變數是否被認為是空的。當一個變數並不存在,或者它的值等同於 FALSE,那麼它會被認為不存在。如果變數不存在的話,empty()並不會產生警告。

以下值會被empty() 認為是空的:

  • "" (空字串)

  • 0 (作為整數的0)

  • 0.0 (作為浮點數的0)

  • "0" (作為字串的0)

  • NULL

  • FALSE

  • array() (一個空陣列)

  • $var; (一個宣告了,但是沒有值的變數)

unset() 函數用於銷燬給定的變數。

推薦學習:《》

以上就是php怎去掉值為空的陣列元素的詳細內容,更多請關注TW511.COM其它相關文章!