繁体   English   中英

array_filter php返回键不顺序

[英]array_filter php return key not sequence

我正在使用array_filter搜索和删除不需要的结果我的英语不好,这是我的做法:

$obj_Data = [
    [
        "id" => 1,
        "level" => "admin",
        "name" => "jack"
    ],
    [
        "id" => 2,
        "level" => "member",
        "name" => "john"
    ],
    [
        "id" => 3,
        "level" => "member",
        "name" => "jenny"
    ],
    [
        "id" => 4,
        "level" => "member",
        "name" => "whatever"
    ]
];
function filter_callback($element) {
    if ($element["level"] == "member") {
        return TRUE;
    }
    return FALSE;
}

$arr["data"] = array_filter($obj_Data, "filter_callback");
echo json_encode($arr);

它给我的结果是:

{
    "data": {
        "1": {
            "id": 2,
            "level": "member",
            "name": "john"
        },
        "3": {
            "id": 4,
            "level": "member",
            "name": "whatever"
        }
    }
}

这是我想要的结果:

{
    "data": {
        {
            "id": 2,
            "level": "member",
            "name": "john"
        },
        {
            "id": 4,
            "level": "member",
            "name": "whatever"
        }
    }
}

如何删除“ 1”和“ 3”? 因为感谢您的阅读,我无法使用循环。

array_filter()保留使用的数组键,使结果数组成为JSON上下文中的对象。 只需在对JSON编码之前通过array_values()重新索引数组即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM