PHP,从数组中获取值?

时间:2011-06-07 19:07:05

标签: php json

我有一个PHP键/值数组,我想从那里获取一个值并将其显示在div中。

到目前为止,我有:

$homepage = file_get_contents('http://graph.facebook.com/1389887261/reviews');
$parsed = json_decode($homepage);

我想从键/值对数组中获取值,如下所示:

foreach ($parsed as $key => $values){
    echo $values['rating'];
}

但这不会检索该值。我做错了什么?

8 个答案:

答案 0 :(得分:3)

使用PHP foreach索引引用,这使您能够获取键或值。

$parsed = json_decode($homepage,true);
foreach ($parsed['data'] as $key => $values){
    echo $values['rating'];
}

http://www.php.net/manual/en/control-structures.foreach.php

答案 1 :(得分:2)

$rating = $parsed->data[0]->rating;

它对你有用吗?

答案 2 :(得分:1)

foreach ($parsed['data'] as $key => $values){
  echo $values['rating'];
}

注意json_decode()默认返回对象。您需要更新以下内容才能执行上述操作:

$parsed = json_decode($homepage, true);

答案 3 :(得分:1)

通过转储你的例子来完成)

foreach ($parsed->data as $key => $values){
echo $values->rating;}

答案 4 :(得分:0)

如果你没有传递第二个参数,你将得到一个对象而不是一个数组,请参阅http://php.net/json_decode

$parsed = json_decode($homepage,true);
foreach ($parsed['data'] as $key => $values){
    echo $values['rating'];
}

会帮你解决问题。

答案 5 :(得分:0)

值是stdClass对象,而不是数组。所以,循环:

$homepage = file_get_contents('http://graph.facebook.com/2345053339/reviews');
$parsed = json_decode($homepage);
foreach($parsed->data as $values) {
    echo 'Rating:'.$values->rating;
}

注意我正在使用->运算符来访问对象属性...

答案 6 :(得分:-1)

评级是数组['数据']的子数组,所以:

foreach ($parsed['data'] as $key => $values){
    echo $values['rating'];
}

答案 7 :(得分:-1)

“已解析”的根节点是数据,这是一个数组,因此您可能需要..

foreach($parsed['data'] as $key => $value) {
  echo $value['rating'];
}