首頁 >後端開發 >PHP問題 >php怎麼判斷元素是否在數組

php怎麼判斷元素是否在數組

PHPz
PHPz原創
2023-04-17 16:36:39634瀏覽

在PHP程式設計中,常會用到陣列這種資料型態。而判斷元素是否在數組中,是一個非常常見的操作。本文將介紹多種判斷元素在陣列中的方法,希望對PHP初學者有所幫助。

一、使用in_array函數

in_array函數是快速判斷一個元素是否在陣列中的方法。其函數原型為:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

其中,$needle是要找的元素,$haystack是目標數組,$strict是是否啟用類型檢查。預設為FALSE,即不檢查類型。

下面舉例:

$arr = array("apple", "banana", "orange");
if (in_array("banana", $arr)) {
    echo "找到了!";
} else {
    echo "没找到。";
}

輸出結果為:找到了!

二、使用array_search函數

array_search函數也是用來找出元素是否在陣列中的函數。不過它回傳的是元素的鍵名,而不是布林類型的值。其函數原型為:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

其中,$needle是要找的元素,$haystack是目標數組,$strict是是否啟用類型檢查。預設為FALSE,即不檢查類型。

下面舉例:

$arr = array("apple", "banana", "orange");
$key = array_search("banana", $arr);
if ($key !== false) {
    echo "找到了!键名是:" . $key;
} else {
    echo "没找到。";
}

輸出結果為:找到了!鍵名是:1

三、使用isset函數

isset函數是PHP內建的函數,用來偵測變數是否設定且非NULL。我們可以使用isset函數和陣列的鍵名來判斷某個元素是否在陣列中。範例程式碼:

$arr = array("apple", "banana", "orange");
if (isset($arr[1])) {
    echo "找到了!";
} else {
    echo "没找到。";
}

輸出結果為:找到了!

四、使用array_key_exists函數

array_key_exists函數是一種檢查陣列中是否存在指定鍵名的函數。其函數原型為:

bool array_key_exists ( mixed $key , array $array )

其中,$key是要找的鍵名,$array是目標陣列。

範例程式碼:

$arr = array("apple", "banana", "orange");
if (array_key_exists(1, $arr)) {
    echo "找到了!";
} else {
    echo "没找到。";
}

輸出結果為:找到了!

五、使用indexOf函數

indexOf函數是一個自訂函數,用來檢查元素是否在陣列中。其函數原型為:

function indexOf($array, $search_value)
{

foreach($array as $key => $value) {
    if($value === $search_value) {
        return $key;
    }
}
return false;

}

其中,$array是目標數組,$search_value是要尋找的元素。

範例程式碼:

$arr = array("apple", "banana", "orange");
$key = indexOf($arr, "banana");
if ($key !== false) {
    echo "找到了!键名是:" . $key;
} else {
    echo "没找到。";
}

輸出結果為:找到了!鍵名是:1

以上是PHP中判斷元素是否在陣列的幾種方法,其中in_array和array_search是最常用的方法。實際使用中可以依照自己的需求進行選擇。

以上是php怎麼判斷元素是否在數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn