hen*_*r1x 1 php
如果有人能向我解释为什么以下代码,我将不胜感激......
$result = true; if ($result == "discontinued"){ echo "IN"; } if ($result == "invalid"){ echo "IN2"; }
触发两个回声(即ININ2)....我知道我可以将操作符更改为===并且它将起作用但我不明白发生了什么.谢谢
Joh*_*nde 6
使用comparison(==)运算符时,任何无法转换为false的值都将计算为true.这包括任何非空字符串.这是因为PHP中的类型杂耍.所以 "discontinued"计算结果为true,因为它不是空字符串.如果使用相同的operator(===)类型转换未完成,"discontinued"则处理文字字符串,然后您的语句将评估为false.
==
"discontinued"
===
执行类型杂耍时,以下内容将评估为false.其他所有内容都将被评估为真:
归档时间:
12 年 前
查看次数:
70 次
最近记录: