PHP 檢查陣列中是否存在鍵
-
使用
array_key_exists()
函式檢查 PHP 陣列中是否存在鍵 -
使用
isset()
函式檢查 PHP 陣列中是否存在鍵 -
PHP 中的
array_key_exists()
與isset()
陣列是 PHP 中的單個變數,其中包含許多元素。儲存在陣列中的每個元素都有一個唯一的索引,就像分配給它的資料庫中的主鍵一樣。你可以使用該索引訪問陣列的元素。你的指令碼可能需要檢查特定鍵是否存在才能對值執行操作。在本教程文章中,我們將討論如何檢查陣列中是否存在特定鍵。
PHP 支援三種型別的陣列:
- 索引陣列 - 帶有數字索引的陣列,其中僅提供值。例如。
陣列(1,2,3)
。 - 關聯陣列 - 具有命名鍵的陣列,其中鍵也像 JSON 物件一樣與值一起定義。例如。
陣列(
第一個=> 1,
第二個=> 2)
。 - 多維陣列——包含一個或多個巢狀陣列的陣列。例如。
陣列(陣列(
a,
b,
c),陣列(
d,
e,
f),陣列(
g,
h,
i))
。
PHP 提供了兩種方法來找出陣列是否包含鍵。首先,我們將瞭解這兩種方法,然後比較它們以獲得我們的結果。
使用 array_key_exists()
函式檢查 PHP 陣列中是否存在鍵
PHP 提供了內建函式 array_key_exists
,它檢查給定的鍵或索引是否存在於提供的陣列中。array_key_exists()
函式適用於索引陣列和關聯陣列,但不會找到多維陣列中的巢狀鍵。array_key_exists()
將僅在第一維中查詢鍵。如果沒有鍵值對存在,則陣列將數字鍵視為從零開始的預設鍵。
array_key_exists()
的語法
array_key_exists(string|int $key, array $array): bool
引數
$key (mandatory)
:該引數指的是需要在輸入陣列中搜尋的鍵/索引。$array (mandatory)
:這個引數指的是我們想要在其中搜尋給定鍵/索引$key
的原始陣列/乾草堆。
返回值
如果找到鍵/索引,則返回 true,如果未找到鍵/索引,則返回 false。
示例程式碼
<?php
$search_array = array('first' => 1, 'second' => 2);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is found in the array";
} else {
echo "Key does not exist";
}
?>
輸出:
The 'first' element is found in the array
使用 isset()
函式檢查 PHP 陣列中是否存在鍵
PHP 提供函式 isset()
,用於確定是否設定了變數;這意味著如果一個變數被宣告並賦值為非空值。當變數被賦值為 null 時,isset()
將返回 false。
isset()
的語法
isset(mixed $var, mixed ...$vars): bool
你可以傳遞許多引數,如果提供了許多引數,那麼只有在所有傳遞的引數都已設定時,isset()
才會返回 true。PHP 從左到右計算並在遇到未設定的變數時立即停止。
引數
$var
:要檢查的第一個變數。$vars
:要檢查的更多變數。
返回值
如果變數存在並且具有除 null 之外的任何值,則返回 true,否則返回 false。
示例程式碼
<?php
$search_array = array('first' => 1, 'second' => 2);
if (isset($search_array['first'])) {
echo "The 'first' element is found in the array";
} else {
echo "Key does not exist";
}
?>
輸出:
The 'first' element is found in the array
PHP 中的 array_key_exists()
與 isset()
isset()
不會為對應於 null
值的陣列鍵返回 true
,而 array_key_exists()
會返回 true
。
<?php
$search_array = array('first' => null, 'second' => 2);
echo isset($search_array['first']) ? "true" : "false";
echo "\n";
echo array_key_exists('first', $search_array) ? "true" : "false";
?>
輸出:
false
true
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn