如果数组值等于 0,PHP 删除条目 [英] PHP remove entry if array value equals to 0

查看:45
本文介绍了如果数组值等于 0,PHP 删除条目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这就是我打印数组时得到的结果.它是一个多维数组,其中包含以下值.

This is what i get when i print_r my array. it's a multi-dimensional array which contains the following values.

    [7] => Array
    (
        [0] => 1
        [1] => 34
        [2] => 181
        [3] => 50
    )



    [9] => Array
    (
        [0] => 1
        [1] => 2
        [2] => 1
        [3] => 47
    )

   [2] => Array
    (
        [0] => 20
        [1] => 0
        [2] => 1621
        [3] => 45
    )
   [3] => Array
    (
        [0] => 120
        [1] => 0
        [2] => 121
        [3] => 45
    )

我想删除所有键 [1] 等于 0 的条目.进行修改后,我的最终数组应该是这样的

I would like to remove all entries in which the key [1] equals to 0. After doing the modifications, My final array should like this

    [7] => Array
    (
        [0] => 1
        [1] => 34
        [2] => 181
        [3] => 50
    )



[9] => Array
    (
        [0] => 1
        [1] => 2
        [2] => 1
        [3] => 47
    )

有什么想法吗?

推荐答案

foreach 来拯救:

foreach($arr as $key => $entry) {
    if(isset($entry[1]) && $entry[1] === 0) {
        unset($arr[$key]);
    }
}

还有一个 array_filter 示例:

And an array_filter example:

$arr = array_filter($arr, function($entry) {
    return $entry[1] !== 0;
});

(假设至少是 php 5.3,不过你可以通过创建一个命名函数并将其作为第二个参数传递给 array_filter 来解决这个问题)

(assumes at least php 5.3, though you can get around that by creating a named function and passing that as the second parameter to array_filter)

这篇关于如果数组值等于 0,PHP 删除条目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆