in_array() 是 PHP 內建函數,用於檢查指定值是否存在於陣列中。若存在回傳 TRUE,否則回傳 FALSE。它是陣列操作中最常用的查找工具之一。
bool in_array(mixed $needle, array $haystack, bool $strict = false)
| 參數 | 說明 |
|---|---|
$needle | 待搜尋的值,字串時區分大小寫 |
$haystack | 目標陣列 |
$strict | 可選,設為 TRUE 時同時檢查型別 |
$arr = ["a", "b", "c", 1];
if (in_array("a", $arr)) {
echo '字元 a 存在於陣列中';
} else {
echo '字元 a 不存在於陣列中';
}
// 輸出:字元 a 存在於陣列中
$arr = ["a", "b", "c", 1];
if (in_array("1", $arr, true)) {
echo '存在';
} else {
echo '不存在';
}
// 輸出:不存在(字串 "1" !== 整數 1)
$arr = [["a", "b"], 1, 2];
$target = ["a", "b"];
if (in_array($target, $arr)) {
echo '子陣列存在';
}
// 輸出:子陣列存在
對於大型陣列頻繁查找,建議改用 isset($arr[$key]) 或將陣列鍵值化,效能遠優於 in_array() 的線性搜尋。