在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中文網其他相關文章!