PHP 檢查陣列中是否存在鍵

Shraddha Paghdar 2023年1月30日
  1. 使用 array_key_exists() 函式檢查 PHP 陣列中是否存在鍵
  2. 使用 isset() 函式檢查 PHP 陣列中是否存在鍵
  3. PHP 中的 array_key_exists()isset()
PHP 檢查陣列中是否存在鍵

陣列是 PHP 中的單個變數,其中包含許多元素。儲存在陣列中的每個元素都有一個唯一的索引,就像分配給它的資料庫中的主鍵一樣。你可以使用該索引訪問陣列的元素。你的指令碼可能需要檢查特定鍵是否存在才能對值執行操作。在本教程文章中,我們將討論如何檢查陣列中是否存在特定鍵。

PHP 支援三種型別的陣列:

  1. 索引陣列 - 帶有數字索引的陣列,其中僅提供值。例如。陣列(1,2,3)
  2. 關聯陣列 - 具有命名鍵的陣列,其中鍵也像 JSON 物件一樣與值一起定義。例如。陣列(第一個 => 1,第二個 => 2)
  3. 多維陣列——包含一個或多個巢狀陣列的陣列。例如。陣列(陣列(abc),陣列(def),陣列(ghi))

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 Paghdar avatar Shraddha Paghdar avatar

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

相關文章 - PHP Array