Я хочу повторить данные массива из результата json decode, поэтому я попробовал как файл_get_contents, так и curl, который работает.
Это ответ, который я получаю с сервера, который является json-выходом.
{"Servers": {
"lastChangedDate": null,
"ServersList": [
{
"online": "The server is UP",
"offline": "The server is DOWN",
"maintainace": "The server is currently in maintenance mode",
"location": "EU",
"ip": "x.x.x.x"
},
{
"online": "The server is UP",
"offline": "The server is DOWN",
"maintainace": "The server is currently in maintenance mode",
"location": "US",
"ip": "x.x.x.x"
}
]
}}
теперь тогда выход будет массивом, подобным этому после его декодирования.
Array (
[Servers] => Array (
[lastChangedDate] =>
[ServersList] => Array (
[0] => Array (
[online] => The server is UP
[offline] => The server is down
[maintenance] => The server is currently in maintenance mode
[location] => EU
[ip] => x.x.x.x
)
[1] => Array (
[online] => The server is UP
[offline] => The server is DOWN
[maintenance] => The server is currently in maintenance mode
[location] => US
[ip] => x.x.x.x
)
)
)
)
Вот мой php-код
<?php
$request = file_get_contents("test.json");
$input = json_decode($request, true);
echo $input['Servers']['lastChangedDate']['ServersList'][0]['online'];
?>
демо с print_r ($ input); вместо эха http://phpad.org/run/1666334020
Поэтому на моей главной странице я хочу вывести это как http://codepen.io/anon/pen/jEEPMG.html
Записи $input['Servers'];
и $input['lastChangedDate'];
находятся на одном уровне в массиве, поэтому вы не можете получить доступ к $input['Servers']['lastChangedDate']
.
Я думаю, вы пытаетесь сделать:
$input['Servers']['ServersList'][0]['online'];
в json, который вы разместили выше, "lastChangedDate" имеет значение NULL, означает, что вы не можете получить к нему доступ
$input['Servers']['lastChangedDate']['ServersList'][0]['online'];
Сначала вы должны найти, почему lastChangedDate имеет значение NULL. $ input ['Servers'] ['lastChangedDate'] ['ServersList'] [0] ['онлайн'];
Жирный текст начинается с конфликта доступа. PHP также должен выводить вам ошибку типа "Undefined index: ServerList", поэтому вам нужно сначала заполнить lastChangedDate, чтобы отправлять дальнейшие запросы на его содержимое
Возможно, вы хотели получить доступ
$input['Servers']['ServersList'][x]['online'];
$input['Servers']['ServersList'][0]['online'];
должно сработать