这怎么可能?
$post_icon = $_REQUEST['icon'];
if($post_icon == 0)
var_dump($post_icon);
输出:
string(15) "icon_smilie.gif"
它不应该打印任何内容,因为$post_icon
不等于0
。
string(15) "icon_smilie.gif"
这是我的图标(通过无线电输入选择),但我不知道为什么,它正在传递0
值。
有什么问题?
答案 0 :(得分:4)
比较时,字符串将转换为数字,即0
:
如果您将数字与字符串进行比较或比较涉及数字字符串,则每个字符串都会转换为数字,并且数字会进行比较。
和
该值由字符串的初始部分给出。如果字符串以有效数字数据开头,则这将是使用的值。否则,该值将为0(零)。
使用严格比较===
代替。它还会比较值的类型。
请参阅Comparison Operators和PHP type comparison tables以及Strings(在底部,字符串转换为数字)