【发布时间】:2014-12-22 19:14:13
【问题描述】:
我有这个代码:
print ($myarray['response']['players'][0]['VACBanned'] ? 'BANNED' : 'NOT BANNED');
其中“VACBanned”是布尔值。但它是“真”还是“假”都没有关系;它总是给出“NOT BANNED”。
var_dump 结果:案例 1:'VACBanned' => bool(true) 案例 2:'VACBanned' => bool(false) 两种情况都显示“NOT BANNED”
图片: http://i.stack.imgur.com/Rk7uv.png http://i.stack.imgur.com/o0i9f.png
【问题讨论】:
-
var_dump($myarray['response']['players'][0]['VACBanned'])的结果是什么? -
true如 WORDtrue或true如布尔值 true?有区别。单词 true 只是一个字符串,并且始终是布尔值“true”,就像单词false也是 true 一样。请记住,在 php 中,非空字符串被视为布尔值 true,只要它们不包含 false 值。 -
@MarcB 这是我的第一个想法,但如果它总是输出“NOT BANNED”,那就意味着它实际上是虚假的,对吧?
-
var_dump($myarray['response']['players'][0]['VACBanned']) 一次说“true”->“NOT BANNED” 其他输入说“false” " -> "不被禁止",太
-
var_dump还应该告诉您值的 type(例如“string(4)”)。请编辑它以及问题中的值。