我有这个代码:
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');