php: цикл по массиву json
У меня есть массив json:
[
{
"var1": "9",
"var2": "16",
"var3": "16"
},
{
"var1": "8",
"var2": "15",
"var3": "15"
}
]
Как я могу перебирать этот массив с помощью php?
41
4 answers
Установите для второго параметра функции значение true, если вам требуется ассоциативный массив
В некоторых версиях php требуется 2-й параметр true, если вам требуется ассоциативный массив
$json = '[{"var1":"9","var2":"16","var3":"16"},{"var1":"8","var2":"15","var3":"15"}]';
$array = json_decode( $json, true );
47
Author: Scuzzy, 2015-07-15 21:59:10
Декодируйте строку JSON с помощью json_decode()
, а затем повторите ее, используя обычный цикл:
$arr = json_decode('[{"var1":"9","var2":"16","var3":"16"},{"var1":"8","var2":"15","var3":"15"}]');
foreach($arr as $item) { //foreach element in $arr
$uses = $item['var1']; //etc
}
56
Author: chustar, 2014-01-27 10:30:48
Сначала вам нужно расшифровать свой json:
$array = json_decode($the_json_code);
Затем после декодирования json вы должны выполнить foreach
foreach ($array as $key => $jsons) { // This will search in the 2 jsons
foreach($jsons as $key => $value) {
echo $value; // This will show jsut the value f each key like "var1" will print 9
// And then goes print 16,16,8 ...
}
}
Если вам нужно что-то конкретное, просто попросите такой ключ. Поместите это между последним предисловием.
if($key == 'var1'){
echo $value;
}
27
Author: Lucas Costa oliveira, 2011-08-21 04:18:26
Использовать json_decode
чтобы преобразовать строку JSON в массив PHP, затем используйте для нее обычные функции массива PHP.
$json = '[{"var1":"9","var2":"16","var3":"16"},{"var1":"8","var2":"15","var3":"15"}]';
$data = json_decode($json);
var_dump($data[0]['var1']); // outputs '9'
10
Author: lonesomeday, 2012-12-05 16:51:39