2016-03-08 26 views
0

我有一個多維數組,我希望在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,但是我將如何搜索它,因爲我想從class id中找到id。

回答

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')); 
+0

這完美地工作!謝謝 – Tatrick