关联数组删除所有0值

问题描述 投票:-1回答:2

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

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

谢谢

php arrays associative
2个回答
0
投票

您可以简单地使用array_filter进行此操作

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

0
投票

嗯,有很多方法可以实现这一点,下面我将提到其中两种:

Snippet:

<?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);

Demo: https://3v4l.org/fMsHt

Snippet:

<?php

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


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

Demo: https://3v4l.org/3YHiX

© www.soinside.com 2019 - 2024. All rights reserved.