in_array
(PHP 4, PHP 5, PHP 7, PHP 8)
in_array — 檢查陣列中是否存在某個值
說明
大海撈針,在大海(haystack
)中搜索針(
needle
),如果沒有設定 strict
則使用寬鬆的比較。
參數
-
needle
-
待搜索的值。
注意:
如果
needle
是字串,則比較是區分大小寫的。 -
haystack
-
待搜索的陣列。
-
strict
-
如果第三個參數
strict
的值為true
則 in_array() 函式還會檢查needle
的型別是否和haystack
中的相同。
返回值
如果找到 needle
則返回 true
,否則返回 false
。
範例
示例 #1 in_array() 例子
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>
第二個條件失敗,因為 in_array() 是區分大小寫的,所以以上程式顯示為:
Got Irix
示例 #2 in_array() 嚴格型別檢查例子
<?php
$a = array('1.10', 12.4, 1.13);
if (in_array('12.4', $a, true)) {
echo "'12.4' found with strict check\n";
}
if (in_array(1.13, $a, true)) {
echo "1.13 found with strict check\n";
}
?>
以上例程會輸出:
1.13 found with strict check
示例 #3 in_array() 中用陣列作為 needle
<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');
if (in_array(array('p', 'h'), $a)) {
echo "'ph' was found\n";
}
if (in_array(array('f', 'i'), $a)) {
echo "'fi' was found\n";
}
if (in_array('o', $a)) {
echo "'o' was found\n";
}
?>
以上例程會輸出:
'ph' was found 'o' was found
參見
- array_search() - 在陣列中搜索給定的值,如果成功則返回首個相應的鍵名
- isset() - 檢測變數是否已聲明並且其值不為 null
- array_key_exists() - 檢查陣列里是否有指定的鍵名或索引