关联数组删除所有值为 0 的值

Associative array remove all values of 0

我在 PHP 中有一个关联数组,我想删除关联值为 0

的所有值

Array ( [item1] => 0 [item2] => 10 [item5] => 0 [item10] => 10 [item12] => 5 )

谢谢

你可以简单地使用 array_filter

$data = Array ( 'item1' => 0 ,'item2' => 10, 'item5' => 0, 'item10' => 10, 'item12' => 5 );
 echo '<pre>';print_r(array_filter($data));

好吧,有很多方法可以实现这一点,我在下面提到了其中两个:

片段:

<?php

$arr = [
        'item1' => 0,
        'item2' => 10,
        'item5' => 0,
        'item10' => 10,
        'item12' => 5,
        'item120' => false,
    ];


$filtered = array_filter($arr,function($value){
    return $value !== 0;
});


print_r($filtered);

演示: https://3v4l.org/fMsHt

片段:

<?php

$arr = [
        'item1' => 0,
        'item2' => 10,
        'item5' => 0,
        'item10' => 10,
        'item12' => 5,
        'item120' => false,
    ];


print_r(array_diff($arr,[0]));

演示: https://3v4l.org/3YHiX