【问题标题】:Delete empty value from array php从数组php中删除空值
【发布时间】:2016-05-23 11:08:18
【问题描述】:

我有这个数组,我需要删除空值并保留其他值。

Array
(
    [12] => Array
        (
            [0] => 12
            [1] =>  Philippines
            [2] => 94,013,200
            [3] => Mid-2010
            [4] => 0.0136
        )
    [13] => Array
        (
            [0] => 
            [1] => 
            [2] => 
            [3] => 
            [4] => 
        )

【问题讨论】:

  • 在数组的第 13 个元素上使用 unset()
  • $postArr = array_map('array_filter', $postArr); $postArr = array_filter( $postArr );
  • 谢谢你,但不是第 13 名,也许有时我有空的 10 和 11
  • 嗨 issam90,如果不是 isset() 则 unset() :-)

标签: php arrays


【解决方案1】:

您可以使用array_maparray_filter 函数从多维数组中删除空值。

解决方案:

$array = array_filter(array_map('array_filter', $yourArr));

示例:

$yourArr[12] = array('12','Philippines');
$yourArr[13] = array('','');
$array = array_filter(array_map('array_filter', $yourArr));

echo "<pre>";
print_r($array);

结果:

Array
(
    [12] => Array
        (
            [0] => 12
            [1] => Philippines
        )

)

【讨论】:

    【解决方案2】:

    使用array_map()array_filter()

    $result = array_map('array_filter', $a)
    

    array_filter() 在这种情况下从数组中删除空白元素。

    array_map() 函数对每个数组元素调用一个函数,因此,它调用 array_filter() 并删除空元素。

    工作代码:

    <?php
    $a = array(12 => array(12, 'Philippines', '94,013,200', 'Mid-2010', '0.0136'), 13 => array('', '', '', '', ''));
    $result = array_map('array_filter', $a);
    echo "<pre>";
    print_r($result);
    echo "</pre>";
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      相关资源
      最近更新 更多