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


Boolean -> String (always the same)

我有这个代码:

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

其中"VACBanned"是布尔值。但不管它是"真"还是"假";它总是给出"不禁止"。

var_dump结果:案例 1:"VACBanned" => 布尔值(

真) 案例 2:"VACBanned" => 布尔值(假) 两种情况都显示"未禁止"

图:https://i.stack.imgur.com/Rk7uv.pnghttps://i.stack.imgur.com/o0i9f.png

您需要打开错误检查(或检查 apache 错误日志)并查找代码中的错误。

例如,您的var_dump($myarray);显示一个没有任何"响应"键的数组。但是,您的打印声明是:

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

数组表达式永远找不到任何东西,因为没有"响应"键。所以它将 (a) 抛出一个错误"未定义的索引:响应",并且 (b) 总是计算为 false ,因此总是说"未禁止"。

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