Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 关联数组删除0的所有值_Php_Arrays_Associative - Fatal编程技术网

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

Php 关联数组删除0的所有值,php,arrays,associative,Php,Arrays,Associative,我在PHP中有一个关联数组,希望删除所有关联值为0的值 数组([item1]=>0[item2]=>10[item5]=>0[item10]=>10[item12]=>5) 谢谢您只需使用数组过滤器即可完成此操作 $data = Array ( 'item1' => 0 ,'item2' => 10, 'item5' => 0, 'item10' => 10, 'item12' => 5 ); echo '<pre>';print_r(array_fi

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

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


谢谢

您只需使用数组过滤器即可完成此操作

$data = Array ( 'item1' => 0 ,'item2' => 10, 'item5' => 0, 'item10' => 10, 'item12' => 5 );
 echo '<pre>';print_r(array_filter($data));
$data=Array('item1'=>0,'item2'=>10,'item5'=>0,'item10'=>10,'item12'=>5);
回声';打印(数组过滤器($data));

实现这一点的方法有很多,我在下面提到了其中两种:

  • 使用
片段:

<?php

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


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

查看。@Wallchris欢迎来到SO并乐于帮助:)另外,数组_diff也可以工作。
<?php

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


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