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