2016-06-23 79 views
-1

我需要使用foreach将json_decode文件转换为数组。来自json的foreach数组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']的第一个字符

为什么它不输出这个吗?:

0,76€ 

也许你可以帮助我。 谢谢!

+1

成功的值是一个布尔值,因此它会输出TRUE;'FALSE','1'或者'0'。那么,为什么它应该输出“成功”呢? –

+0

@MuhammadSumonMollaSelim我是一个白痴:D:D你是对的,但是当我现在将得到[“lowest_price”]时,它输出这个字符串的第一个字符。你知道一个解决方案吗? – iSeven

+0

你好吗? –

回答

0

你的对象,你需要经过json_decode

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

} 
+0

是的,但这正是我在做什么,或? – iSeven

1

success值是一个布尔得到数组,所以它会输出真,假,1或0不Success

编辑:由于你的$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