|
小弟來解釋下 為什么
var_dump(in_array(0, array('s' ));
這句話的結(jié)果是bool(true)。
因為in_array會將0 和's' 進行比較,0是number類型,'s'是string類型,根據(jù)php manual 中“Comparison Operators” 一章的說明可知,number 和string進行
比較的時候,會先將string類型首先轉(zhuǎn)化為number,然后再進行比較操作。 's'轉(zhuǎn)化為number的結(jié)果為0,而0 == 0 的結(jié)果是true,所以in_array(0, array('s', 'ss'))的結(jié)果也是true
如果把in_array 的第三個參數(shù)strict設(shè)置為 true,比較的時候 就會判斷值和類型是否都相當(dāng)。如果都相當(dāng)?shù)脑?,才會返回true,否則返回false.
僅此為記。
php技術(shù):PHP IN_ARRAY 函數(shù)使用注意事項,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。