先上一道題
<?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”。
那麼有的同學就會問了,憑啥是 數值轉成布林 ,額,這個嘛,好吧!! 我也是來找答案的,求大神來解答下,小弟必當鞠躬盡瘁死而後已。