PHP 1=="1a"的不解

if(1=="1a"){

echo 'true';

}else{

echo 'false';

}
以上输出true,之前我的总结是:
1.==只是对值得比较(将两边值转化为同类型再比较),而===则是对值和类型的比较。
2.对于==的比较,若有一方为数字,另一方为字符串或空或null,均会先将非数字一方转化为0,再做比较。

难道这里的字符'1a'呗转换成为数字1了????如果改成if(1=="a")或者if(1=="a1")结果都是false?这怎么理解?

HUWWW
浏览 945回答 2
2回答

大话西游666

字符串1a会被转换为数字1,这是PHP基础知识了。

温温酱

1 == true 0 == null == '' == false但是 1 == '1a' 0 == 'a' 且 'a' == true,'1a' == true
打开App,查看更多内容
随时随地看视频慕课网APP