php中 0 与 字符串比较的问题
今天我的技术群里,被一个很不起眼的问题炸出很多基础不稳的phper,就是这么一句 :
<?php if(0 == 'yes'){ echo 'yes'; }else{ echo 'no'; }
好多人一口回答,‘no’,这叫啥问题~~~(滑稽脸),其实这个真是答案是 ‘yes’,原因何在,我对官方文档进行一些了查证,给出如下解释:
1.首先那个条件 结果 显性原因: 比较时, php把 字符串‘yes’ 转 整形,=》 http://php.net/manual/zh/function.intval.php
因此, 这个结果为 true,
2. 再看 ‘yes’ 为何会被 要求转为 int 呢, 查证到 :
这就 符合情况了, 整数0 去 作比较,弱语言PHP将 后面被比较的 字符串就自动转 int 了~~~~
到这里,就 搞清楚啦~~~
基础还是 很重要的,加油~
(严禁非法盗取,转载请注明来源:http://www.cnblogs.com/guixiaoming/p/6386407.html)
本文来源,作者:fredgui,转载请注明原文链接:https://www.cnblogs.com/guixiaoming/p/6386407.html