0

php中是否有内置的数组方法来过滤嵌套的关联数组?

举个例子:

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

我想删除任何带有和空值的东西——在这个例子中是第一个元素。

我知道 array_filter 会对平面数组做类似的事情,但除了循环和创建我自己的新数组之外找不到任何东西。如果这是最好的解决方案,那没关系,我可以自己做。我只是不想忽略一个内置的方法。

4

2 回答 2

2
$myArray = array_filter($myArray, function($el){ return !empty($el['key1']); });
于 2013-06-21T13:39:19.797 回答
1

您可以使用本机 PHP 函数来执行此操作,这有点简单:

  1. 从不包含值的嵌套数组中删除所有键,然后
  2. 删除所有空的嵌套数组。

    $postArr = array_map('array_filter', $postArr);
    $postArr = array_filter( $postArr );
    
于 2013-09-13T22:31:18.920 回答