PHP: Как изменить массив JSON
Может кто-нибудь помочь мне с 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, но мне нужно сделать это на стороне сервера.
5
Author: user801347, 2011-06-24
2 answers
Вы выполняете возврат, но в неправильном поле. Вы хотите поменять местами поля 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>';
7
Author: hakre, 2011-06-23 22:51:09
Вам нужно изменить содержимое массива $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>';
}
5
Author: Andrew Moore, 2011-06-23 22:49:12