[英]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.