乳清的评价是真的吗?
<?php
$val2=0;
//outputs that is an error123
if($val2=='error123'){
echo 'that is an error123<br />';
}else{
echo 'that is not an error123<br />';
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 13
您将字符串与整数进行比较.为了进行比较,首先将字符串转换为整数.当'error123'转换为整数时,它变为0.
echo intval("error123");
Run Code Online (Sandbox Code Playgroud)
结果:
0
Run Code Online (Sandbox Code Playgroud)
在PHP手册中有这种行为的解释.
如果将数字与字符串进行比较或比较涉及数字字符串,则每个字符串将转换为数字,并且数字执行比较.
有一个快速参考页面PHP类型比较表,显示各种比较的结果.请参阅表"与==的松散比较".关于这个问题的有趣部分0 == "php"是显示为TRUE.
还有一个关于类型杂耍的页面.一个用户评论该网页上给出了几乎完全一样的例子,因为这.
如果你不想使用类型杂耍===而不是==.