先上一道题
<?php
echo (int)false;
so,easy。输出为0。不错,接下来
<?php
if(false > -1) {
echo 'Yes';
}else {
echo 'No';
}
大家都知道,不同类型的数据在做比较时,php 会帮我们转成同一类型的数据,故 false 转成 0,0 > -1,所以输出 'Yes'。
嘿嘿嘿,你要这么想,那就错了,实际输出是 “No”。
分析
其实在上述判断语句里面,不是false转成数值,而是 -1 转成了布尔值 true,false > true 不成立,输出“NO”。
那么有的同学就会问了,凭啥是 数值转成布尔 ,额,这个嘛,好吧!! 我也是来找答案的,求大神来解答下,小弟必当鞠躬尽瘁死而后已。
近期评论