PHP函數primer:in_array()

王林
發布: 2023-06-20 11:12:02
原創
709 人瀏覽過

PHP函數primer:in_array()

在使用PHP程式設計時,使用內建函數可以讓程式碼更簡單,更有效率。其中,in_array() 函數是一個非常實用的函數,可以用來判斷特定的值是否曾在陣列中出現過。

什麼是in_array()函數?

in_array() 是 PHP 的內建函數,用來判斷特定的值是否在陣列中存在。它的基本用法很簡單:in_array($value, $array),其中$value 是要找的值,$array 是要尋找的數組。函數傳回 true 或 false。

如何使用in_array()函數?

假設我們有一個陣列$fruits,它包含一些水果的名稱:

$fruits = array("apple", "banana", "mango", "kiwi", "orange");
登入後複製

現在我們想要檢查三個不同的值是否在這個陣列中:

$value1 = "banana";
$value2 = "grape";
$value3 = "orange";
登入後複製

我們可以分別使用in_array() 函數:

if (in_array($value1, $fruits)) {
    echo "$value1 是一个水果.";
} else {
    echo "$value1 不是一个水果.";
}

if (in_array($value2, $fruits)) {
    echo "$value2 是一个水果.";
} else {
    echo "$value2 不是一个水果.";
}

if (in_array($value3, $fruits)) {
    echo "$value3 是一个水果.";
} else {
    echo "$value3 不是一个水果.";
}
登入後複製

執行這段程式碼後,我們會得到以下結果:

banana 是一个水果.
grape 不是一个水果.
orange 是一个水果.
登入後複製

這段程式碼首先使用in_array( ) 函數檢查$value1 是否在$fruits 陣列中。由於 "banana" 出現在數組中,因此條件為真,會輸出 "banana 是一個水果."。之後的兩個條件檢查$value2$value3 是否出現在$fruits 數組中,由於"grape" 不在數組中,因此輸出"grape 不是一個水果.";而"orange" 在數組中,因此輸出"orange 是一個水果."。

我們也可以使用一個陣列來檢查多個值是否在$fruits 陣列中:

$values = array("banana", "grape", "orange", "peach");
foreach ($values as $value) {
    if (in_array($value, $fruits)) {
        echo "$value 是一个水果.
";
    } else {
        echo "$value 不是一个水果.
";
    }
}
登入後複製

輸出結果為:

banana 是一个水果.
grape 不是一个水果.
orange 是一个水果.
peach 不是一个水果.
登入後複製

in_array( )函數的更多用法

第三個參數:strict

in_array() 函數的第三個參數是一個布林值,用於控制是否啟用類型比較。預設情況下,它是 false(不啟用),因此 in_array() 只會比較值而不會比較類型。

$haystack = array(1, "1", "2");
if (in_array("1", $haystack)) {
    echo "'1' 存在于 haystack 数组中
";  // 打印
}
if (in_array("1", $haystack, true)) {
    echo "'1' 存在于 haystack 数组中
";  // 不打印,因为类型不匹配
}
登入後複製

輸出結果為:

'1' 存在于 haystack 数组中
登入後複製

第二個 in_array() 表達式啟用了第三個參數 true,表示比較值和類型。由於 $haystack 陣列中只有一個值為數字1,而我們正在尋找一個字串 "1",因此第二個條件不會成立。

搜尋鍵名而不是鍵值

in_array() 函數只能搜尋鍵值,但在PHP 中還有一個函數array_key_exists(),可以搜尋一個鍵名是否在陣列中出現過。

$array = array("a" => "apple", "b" => "banana", "c" => "orange");
if (array_key_exists("a", $array)) {
    echo "数组中存在 'a' 键
";
} else {
    echo "数组中没有 'a' 键
";
}
if (array_key_exists("d", $array)) {
    echo "数组中存在 'd' 键
";
} else {
    echo "数组中没有 'd' 键
";
}
登入後複製

輸出結果為:

数组中存在 'a' 键
数组中没有 'd' 键
登入後複製

總結

in_array() 函數是PHP 程式設計中非常常用的函數,用來檢查某個值是否在陣列中出現過。它的基本用法非常簡單,只需要傳入需要查找的值和陣列。對於需要檢查鍵名是否存在的情況,則需要使用 array_key_exists() 函數。

以上是PHP函數primer:in_array()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!