2013-06-21 140 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);