2013-06-21 178 views
0

在php中是否有內置數組方法來過濾嵌套關聯數組?數組過濾器php多維數組

作爲一個例子:

$myArray = array(
    array('key1' => ''), 
    array('key1' => 'value 1'), 
    array('key1' => 'value 2'), 
); 

我想與和空值移除任何 - 在這個例子中的第一個元素。

我知道array_filter會做一個類似的扁平數組,但無法找到任何東西,除了循環和創建我自己的新數組。如果這是最好的解決方案,那就好了,我可以自己做。我只是不想忽略內置的方法。

回答

2
$myArray = array_filter($myArray, function($el){ return !empty($el['key1']); }); 
+0

你打得不錯 – Notepad

1

有,你可以用它來做到這一點PHP函數,這是一個有點簡單:

  1. 從不包含價值嵌套數組中刪除所有的鍵,然後
  2. 刪除所有空的嵌套數組。

    $postArr = array_map('array_filter', $postArr); 
    $postArr = array_filter($postArr);