Php 奇怪的可变行为

Php 奇怪的可变行为,php,variables,Php,Variables,这怎么可能 $post_icon = $_REQUEST['icon']; if($post_icon == 0) var_dump($post_icon); 输出: string(15) "icon_smilie.gif" 它不应该打印任何内容,因为$post\u icon不等于0 string(15)“icon\u smilie.gif”这是我的图标(通过无线电输入选择),但我不知道为什么,它正在通过0值 有什么问题吗?比较时,字符串被转换为一个数字,即0: 如果将数字与字符串

这怎么可能

$post_icon = $_REQUEST['icon'];
if($post_icon == 0)
     var_dump($post_icon);
输出:

string(15) "icon_smilie.gif"
它不应该打印任何内容,因为
$post\u icon
不等于
0

string(15)“icon\u smilie.gif”
这是我的图标(通过无线电输入选择),但我不知道为什么,它正在通过
0


有什么问题吗?

比较时,字符串被转换为一个数字,即
0

如果将数字与字符串进行比较,或者比较涉及数字字符串,则会将每个字符串转换为数字,并以数字形式执行比较

该值由字符串的初始部分给出。如果字符串以有效的数字数据开头,则将使用该值。否则,该值将为0(零)

改为使用严格比较
==
。它还比较了值的类型


请参见和(在底部,字符串转换为数字)

比较时,字符串转换为数字,即
0

如果将数字与字符串进行比较,或者比较涉及数字字符串,则会将每个字符串转换为数字,并以数字形式执行比较

该值由字符串的初始部分给出。如果字符串以有效的数字数据开头,则将使用该值。否则,该值将为0(零)

改为使用严格比较
==
。它还比较了值的类型


请参阅和(在底部,字符串转换为数字)

因为它是这样定义的。因为它是这样定义的。您的HTML前端可能有问题吗??你仔细检查了吗?你的HTML前端可能有问题吗??你仔细检查了吗?