2 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
根據(jù)array_search文檔中的注釋:
警告:此函數(shù)可能返回布爾值 FALSE,但也可能返回計(jì)算結(jié)果為 FALSE 的非布爾值。請(qǐng)閱讀有關(guān)布爾值的部分以 獲取更多信息。使用=== 運(yùn)算符來測(cè)試此函數(shù)的返回值。
在您的情況下,green值的索引為 0。在 if 語句中,0 表示 false。為了解決這個(gè)問題,你需要對(duì) array_search 返回的值進(jìn)行嚴(yán)格的類型檢查,如下所示。
if ($found_key !== false) { // strict type check
print_r("Y");
} else {
print_r("N");
}

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
您也可以使用in_array()功能。
$people = array(
0 => array(
'name' => 'John',
'fav_color' => 'green'
),
1=> array(
'name' => 'Samuel',
'fav_color' => 'blue'
)
);
$found_key = in_array('green', array_column($people, 'fav_color'));
if($found_key){
print_r("Y");
}else{
print_r("N");
}
- 2 回答
- 0 關(guān)注
- 165 瀏覽
添加回答
舉報(bào)