布尔 - >字符串(始终相同)

时间:2014-12-22 19:14:14

标签: php string boolean

我有这段代码:

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

其中“VACBanned”是布尔值。但是,如果它是“真实的”或“假的”并不重要;它总是给出“没有禁止”。

var_dump结果:案例1:'VACBanned'=> bool(true)案例2:'VACBanned'=> bool(false)两个案例都显示“没有禁止”

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

2 个答案:

答案 0 :(得分:0)

您需要turn error checking开启或检查您的apache错误日志,并找到代码中的错误。

例如,您的var_dump($myarray);会显示一个没有“响应”键的数组。但是,您的print语句是:

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

数组表达式永远找不到任何东西,因为没有&#34;响应&#34;的关键字。因此,它将(a)抛出错误&#34;未定义的索引:响应&#34;,以及(b)总是评估为false,因此总是说&#34; NOT BANNED&#34;。< / p>

答案 1 :(得分:-1)

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