php中if注意事项

最近偶然发现php中if有个自动处理比较的参数

例如

  1. $a=’adasds’; if($a==0){ echo “GGGG”; }else{ echo “KKKK”; } 结果输出 GGGG 这是if判断$a时会检测字符串中最开始有误数字,无数字就返回0 所以返回 GGGG
  2. $a=’55adasds’; if($a==55){ echo “GGGG”; }else{ echo “KKKK”; } 结果 GGGG if判断会检测$a中开头是否有数字,有数字就返回数字,所以结果 GGGG
  3. $a=’ad55asds’;或$a=’adasds55’; if($a==55){ echo “GGGG”; }else{ echo “KKKK”; } 结果 KKKK 说明if判断时检测$a不会检测中间和最后面是否有数字,且结果直接返回0; 综上示例 if判断时如果定义变量是整型就不会出现此问题,如果是字符串就要考虑示例1,2的存在。