数组过滤php多维数组

时间:2013-06-21 13:09:20

标签: php

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

举个例子:

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

我想删除任何with和empty值 - 在本例中是第一个元素。

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

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