PHP, получить значения из массива? - PullRequest
2 голосов
/ 07 июня 2011

У меня есть массив ключей / значений 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 ]

3 голосов
/ 07 июня 2011

Используйте ссылку на индекс foreach в PHP, это дает вам возможность получить ключ или значение.

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

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

2 голосов
/ 07 июня 2011
$rating = $parsed->data[0]->rating;

У вас работает?

1 голос
/ 07 июня 2011

сделано путем сброса вашего примера)

foreach ($parsed->data as $key => $values){
echo $values->rating;}
1 голос
/ 07 июня 2011
foreach ($parsed['data'] as $key => $values){
  echo $values['rating'];
}

Примечание , json_decode () возвращает объект по умолчанию. Вам нужно обновить следующее, чтобы сделать выше:

$parsed = json_decode($homepage, true);
0 голосов
/ 07 июня 2011

Значения являются объектами stdClass, а не массивами.Итак, для цикла:

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

Примечание. Я использую оператор -> для доступа к свойствам объекта ...

0 голосов
/ 07 июня 2011

Если вы не передадите второй параметр, вы получите объект вместо массива, см. http://php.net/json_decode

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

сделает все за вас.

0 голосов
/ 07 июня 2011

Корневым узлом для "parsed" являются данные, которые являются массивом, поэтому вы, вероятно, хотите ..

foreach($parsed['data'] as $key => $value) {
  echo $value['rating'];
}
0 голосов
/ 07 июня 2011

Рейтинг - это подмассив массива ['data'], поэтому:

foreach ($parsed['data'] as $key => $values){
    echo $values['rating'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...