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

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

Apr 17, 2023 pm 04:36 PM

在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

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

最新的PHP編碼標準和最佳實踐是什麼? 最新的PHP編碼標準和最佳實踐是什麼? Mar 10, 2025 pm 06:16 PM

最新的PHP編碼標準和最佳實踐是什麼?

我如何處理PHP擴展和PECL? 我如何處理PHP擴展和PECL? Mar 10, 2025 pm 06:12 PM

我如何處理PHP擴展和PECL?

如何在PHP中實現消息隊列(RabbitMQ,REDIS)? 如何在PHP中實現消息隊列(RabbitMQ,REDIS)? Mar 10, 2025 pm 06:15 PM

如何在PHP中實現消息隊列(RabbitMQ,REDIS)?

PHP數組去重有哪些優化技巧 PHP數組去重有哪些優化技巧 Mar 03, 2025 pm 04:50 PM

PHP數組去重有哪些優化技巧

PHP數組去重需要考慮性能損耗嗎 PHP數組去重需要考慮性能損耗嗎 Mar 03, 2025 pm 04:47 PM

PHP數組去重需要考慮性能損耗嗎

PHP數組去重可以利用鍵名唯一性嗎 PHP數組去重可以利用鍵名唯一性嗎 Mar 03, 2025 pm 04:51 PM

PHP數組去重可以利用鍵名唯一性嗎

如何使用反射來分析和操縱PHP代碼? 如何使用反射來分析和操縱PHP代碼? Mar 10, 2025 pm 06:12 PM

如何使用反射來分析和操縱PHP代碼?

PHP數組去重有哪些最佳實踐 PHP數組去重有哪些最佳實踐 Mar 03, 2025 pm 04:41 PM

PHP數組去重有哪些最佳實踐

See all articles