搜索不规则的多维数组

时间:2016-03-08 20:31:16

标签: php arrays json multidimensional-array

我有一个多维数组,我希望在PHP中搜索它。

rgInventory": {
    "2294085379": {
        "id": "2294085379",
        "classid": "520025252",
        "instanceid": "0",
        "amount": "1",
        "pos": 41
    },
    "2383675126": {
        "id": "2383675126",
        "classid": "310781918",
        "instanceid": "0",
        "amount": "1",
        "pos": 40
    }
    //and so on...

如您所见,第二维数组是一个自发数。我希望搜索classid,我会提供classid,但是如何搜索它,因为我想从类id中找到id。

1 个答案:

答案 0 :(得分:2)

$result = json_decode($json, true)之后:

foreach($result['rgInventory'] as $array) {
    if($array['classid'] == $classid) {
        echo $array['id'];
    }
}

或者更流畅的方式:

echo array_column($result['rgInventory'], 'id', 'classid')[$classid];

甚至:

echo array_search($classid, array_column($result['rgInventory'], 'classid', 'id'));