Проверка на пустоту ответа от сервера

238
04 декабря 2017, 18:17

Как проверить на пустоту, если приходит такой ответ

{
    "response": {
        "players": [
        ]
    }
}

Что вышло у меня, но не работает

    $GetPlayerSummaries = @file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=5BC0F61DCDAFEDB5E0DB2A80D0D1280E&steamids=7656");
$PlayerSummaries = (array) json_decode($GetPlayerSummaries) -> response -> players[0];

Мне надо проверить players == 0 да или нет

Answer 1
$GetPlayerSummaries = @file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=5BC0F61DCDAFEDB5E0DB2A80D0D1280E&steamids=7656");
$PlayerSummaries = (array) json_decode($GetPlayerSummaries) -> response -> players;
if (empty($PlayerSummaries)) {
    /* проверяем функцией empty пустой ли массив и если он пустой, то выполняем условие */
}
Answer 2

Лучше передавать второй параметр true в json_decode. Тогда создается не объект, а массив и такие вещи проверяются проще - в зависимости от потребности, использовать можно empty, count, is_array.

В данном случае примерно так:

$str = '{
    "response": {
        "players": [
        ]
    }
}';
$data = json_decode($str, true);
if (empty($data['response']['players']))
    echo 'empty';
else
    echo 'not empty';
READ ALSO
Алгоритм php печатать буквы по порядку

Алгоритм php печатать буквы по порядку

Как создать такой алгоритм, чтобы $i постоянно увеличивалась и циклом печаталась каждая буква abcd

345
PHP - DomDocument->saveXML ничего не выводит

PHP - DomDocument->saveXML ничего не выводит

Есть xml файл mvxml Пытаюсь вывести всю информацию из него

205
Имитация перехода на сторонний сайт

Имитация перехода на сторонний сайт

Существует ли решение в php( кроном или при загрузки страницы пользователем), переход на страницу для поисковой системы стороннего сайтаТо...

201