2016-03-08 4 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... 

Как вы можете видеть, 2-мерный массив является спонтанным числом. Я желаю найти classid, я бы предоставил classid, но как бы его искать, поскольку я хотел бы найти 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

Смежные вопросы