程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中利用array_filter過濾數組為空值

php中利用array_filter過濾數組為空值

編輯:關於PHP編程

在我們開發過程中,判斷數組為空時你會想到什麼方法呢?首先想到的應該是empty函數,不過直接用empty函數判斷為空是不對的,因為當這個值是多維數的時候,empty結果是有值的。  

其實我們可以利用array_filter函數輕松去掉多維空值,而數組的下標沒有改變,下面是舉例用法:

array_filter() 函數用回調函數過濾數組中的元素,如果自定義過濾函數返回 true,則被操作的數組的當前值就會被包含在返回的結果數組中, 並將結果組成一個新的數組。如果原數組是一個關聯數組,鍵名保持不變。

 代碼如下 復制代碼


$array = array(
 
0 => '霜天部落',
 
1 => false,
 
2 => 1,
 
3 => null,
 
4 => '',
 
5 => 'http://www.hzhuti.com',
 
6 => '0'
 
);
 
print_r(array_filter($array));
 
?>

上面代碼輸出結果為:

Array
(
[0] => 霜天部落
[2] => 1
[5] => http://www.hzhuti.com
)

這樣就把為空或者null或者false的值排除掉

上面我們再進行優化

 

 代碼如下 復制代碼 function delEmpty($v)   
{  
if ($v==="" || $v==="php")   //當數組中存在空值和php值時,換回false,也就是去掉該數組中的空值和php值
    {  
    return false;  
    }  
return true;  
}  
$a=array(0=>"pig",1=>"Cat",2=>"",3=>"php");  
print_r(array_filter($a,"delEmpty")); 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved