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

原文地址:https://www.cnblogs.com/guixiaoming/p/6386407.html