要解決 PHP 中的 in_array
誤判問題,你可以嘗試以下方法:
使用 array_flip()
和 in_array()
結合:
將數組的值作為鍵,鍵作為值,然后使用 in_array()
檢查鍵是否存在。
$flippedArray = array_flip($array);
if (in_array($value, $flippedArray)) {
// $value 存在于 $array 中
}
使用 isset()
:
如果你想檢查一個值是否在數組中作為值存在,可以使用 isset()
函數。
if (isset($array[$value])) {
// $value 存在于 $array 中
}
使用 array_search()
:
array_search()
函數可以在數組中查找一個值,并返回相應的鍵。如果找不到該值,則返回 false
。
if (array_search($value, $array) !== false) {
// $value 存在于 $array 中
}
重建索引數組: 如果你經常需要檢查一個值是否在數組中,可以考慮重建索引數組,將值作為鍵。
$indexedArray = array_values($array);
if (in_array($value, $indexedArray)) {
// $value 存在于 $array 中
}
使用關聯數組: 如果你的數組是由關聯鍵組成的,可以直接使用關聯數組來檢查值是否存在。
if (isset($array[$value])) {
// $value 存在于 $array 中
}
根據你的具體需求和數組結構,選擇最適合的方法來解決 in_array
誤判問題。