2016-06-23 2 views
-1

Мне нужно получить файл json_decode в массив с foreach.массив foreach от json в php

json_decode:

array(4) { ["success"]=> bool(true) ["lowest_price"]=> string(7) "0,76€" ["volume"]=> string(2) "94" ["median_price"]=> string(7) "0,81€" } 

Мой текущий код:

foreach($json_decode as $price) { 

     $test = $price['lowest_price']; 
} 

Выход:

var_dump($test); // string(1) "0" 

Он выводит только первый символ моего массива [ 'LOWEST_PRICE']

Почему это не output this ?:

0,76€ 

Возможно, вы можете мне помочь. Спасибо!

+1

значение успеха является логическим, так он выводит 'true',' false', '1' или' 0 '. Итак, почему он должен выводить «Успех»? –

+0

@MuhammadSumonMollaSelim Я идиот: D: D вы так правы, но когда я сейчас получу ["low_price"], он выведет первый символ этой строки. Знаете ли вы решение? – iSeven

+0

как вы это пробовали? –

ответ

0

вы получите объект, который нужно получить массив после json_decode

foreach(json_decode($array,true) as $arr) { 

} 
+0

да, но это именно то, что я делаю, или? – iSeven

1

Значение success является логическое, так что будет выводить истина, ложь, 1 или 0. Не Success.

EDIT: Поскольку ваш $json_decode возвращает один массив, не нужно использовать цикл foreach. Вместо того, чтобы использовать его как массив, получить значение простой, как это:

echo $json_decode['lowest_price'];

+0

Да, я дал вам ответ в своем комментарии http://stackoverflow.com/questions/37997242/foreach-array-from-json-in-php?noredirect=1#comment63438768_37997242 – iSeven