檢查陣列中是否存在某個值

in_array

(PHP 4, PHP 5, PHP 7, PHP 8)

in_array檢查陣列中是否存在某個值

說明

in_array(mixed $needle, array $haystack, bool $strict = false): bool

大海撈針,在大海(haystack)中搜索針( needle),如果沒有設定 strict 則使用寬鬆的比較。

參數

needle

待搜索的值。

注意:

如果 needle 是字串,則比較是區分大小寫的。

haystack

待搜索的陣列。

strict

如果第三個參數 strict 的值為 truein_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.41.13);

if (
in_array('12.4'$atrue)) {
    echo 
"'12.4' found with strict check\n";
}

if (
in_array(1.13$atrue)) {
    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() - 檢查陣列里是否有指定的鍵名或索引

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *