PHP: как обратить массив JSON - PullRequest
5 голосов
/ 24 июня 2011

Может кто-нибудь помочь мне с PHP, пожалуйста.

Оригинальный код ~ работает, но вывод в неправильном порядке.Поэтому мне нужно ОБРАТИТЬ последовательность / порядок массива JSON.

Но когда я пытаюсь изменить последовательность с помощью кода PHP (извлечения), приведенного ниже:

$json = file_get_contents($url,0,null,null); 
$tmp = json_decode($json, true);    // using a temp variable for testing
$result = array_reverse($tmp);      //  <--new line to reverse the arrray

foreach ($result['data'] as $event) {
    echo '<div>'.$event['name'].'</div>';

Это не инвертирует выводпоследовательность.

Что я делаю не так?Есть ли другой / лучший способ?

PS - я могу сделать это в Javascript, но мне нужно сделать это на стороне сервера.

Ответы [ 2 ]

8 голосов
/ 24 июня 2011

Вы делаете возврат, но не в том поле. Вы хотите изменить поля data вместо массива:

$json = file_get_contents($url,0,null,null); 
$tmp = json_decode($json, true);    // using a temp variable for testing
$result = $tmp;
$result['data'] = array_reverse($result['data']);

foreach ($result['data'] as $event) {
    echo '<div>'.$event['name'].'</div>';
5 голосов
/ 24 июня 2011

Необходимо изменить содержимое массива $tmp['data'], а не $tmp.

$json = file_get_contents($url); 
$tmp = json_decode($json, true);
$result = array_reverse($tmp['data']);

unset($tmp);

foreach ($result as $event) {
  echo '<div>'.$event['name'].'</div>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...