按对象属性过滤JSON并返回整个对象

时间:2018-11-17 18:50:35

标签: php arrays json

我正在尝试使用PHP使用 CarReg 搜索以下JSON以返回 CarID

[
    {
        "CarID": "f11gh126-dee8-46ef-9665-69119c354575",
        "CarReg": "ABCD"
    },
    {
        "CarID": "e258f6d4-4503-5d7e-b25c-1fb9767061e2",
        "CarReg": "DEFG"
    }
]

如何通过搜索 CarReg

来检索 CarID

1 个答案:

答案 0 :(得分:0)

首先,您应该使用json_decode()将JSON转换为数组,然后使用array_filter()过滤数组项。

$arr = json_decode($json, true);
$carId = array_filter($arr, function($item){
    return $item['CarReg'] == 'ABCD';
})[0]['CarID'];
// f11gh126-dee8-46ef-9665-69119c354575

demo中查看结果