Boolean — & gt; Строка (всегда одинаковая)

У меня есть этот код:

print ($myarray['response']['players'][0]['VACBanned'] ? 'BANNED' : 'NOT BANNED');

Где «VACBanned» является логическим. Но это не имеет значения, если это «правда» или «ложь»; это всегда выдает «НЕ ЗАПРЕЩЕНО».

Результат var_dump: Случай 1: «VACBanned» => bool (true) Случай 2: «VACBanned» => bool (false) В обоих случаях отображается «NOT BANNED»

PIC:
http://i.stack.imgur.com/Rk7uv.png
http://i.stack.imgur.com/o0i9f.png

0

Решение

Вам нужно проверка ошибок поворота или — проверьте журнал ошибок Apache — и найдите ошибки в своем коде.

Например, ваш var_dump($myarray); показывает массив, который не имеет ключей «response». Тем не менее, ваше заявление для печати:

print ($myarray['response']['players'][0]['VACBanned'] ? 'BANNED' : 'NOT BANNED');

Выражение массива никогда не может найти ничего, так как нет ключа «response». Таким образом, он (а) будет выдавать ошибку «Неопределенный индекс: ответ», и (б) всегда оценивать как falseи поэтому всегда говорите «НЕ ЗАПРЕЩЕНО».

0

Другие решения

print (($myarray['response']['players'][0]['VACBanned'] != 0) ? 'BANNED' : 'NOT BANNED');
-1