鍍金池/ 問答/PHP  HTML/ 如下代碼為什么會輸出true而不是false?

如下代碼為什么會輸出true而不是false?

<?PHP
$a = 0;
if(in_array($a, array('index', 'post'))){
    echo "true";
}else{
    echo "false";
}
?>
回答
編輯回答
憶當年

in_array($a, array('index', 'post'),TRUE)

in-array

圖片描述

2017年2月8日 14:22
編輯回答
孤巷

這邊應(yīng)該是這樣。如果不傳第三個參數(shù)true的話。php會隱式轉(zhuǎn)換。也就是把右邊的字符串轉(zhuǎn)成了整形。'index'和'post'轉(zhuǎn)換成整形之后都是0.所以判斷0在其中。如果你把index和post前邊都加上數(shù)字。比如變成['111index','2222post'].結(jié)果就是false了。

2018年7月4日 04:14