PHP의 배열에 키가 있는지 확인

Shraddha Paghdar 2023년1월30일
  1. array_key_exists() 함수를 사용하여 PHP 배열에 키가 있는지 확인
  2. isset() 함수를 사용하여 PHP 배열에 키가 있는지 확인
  3. PHP의 array_key_exists()isset()
PHP의 배열에 키가 있는지 확인

배열은 내부에 많은 요소를 보유하는 PHP의 단일 변수입니다. 배열 내부에 저장된 각 요소에는 할당된 DB의 기본 키와 같은 고유 인덱스가 있습니다. 해당 인덱스를 사용하여 배열의 요소에 액세스할 수 있습니다. 스크립트는 값에 대한 작업을 수행하기 위해 특정 키가 있는지 여부를 확인해야 할 수 있습니다. 이 튜토리얼 기사에서는 특정 키가 어레이에 존재하는지 여부를 확인하는 방법에 대해 설명합니다.

PHP는 세 가지 유형의 배열을 지원합니다.

  1. 인덱스 배열 - 값만 제공되는 숫자 인덱스가 있는 배열. 예. array(1,2,3).
  2. 연관 배열 - 이름이 지정된 키가 있는 배열. 여기서 키도 JSON 개체와 같은 값과 함께 정의됩니다. 예. array("first" => 1, "second" => 2).
  3. 다차원 배열 - 하나 이상의 중첩 배열을 포함하는 배열. 예. array(array("a", "b", "c"), array("d", "e", "f"), array("g", "h", "i")).

PHP는 배열에 키가 포함되어 있는지 여부를 찾는 두 가지 방법을 제공합니다. 먼저 두 가지 방법을 이해하고 비교하여 결과를 얻습니다.

array_key_exists() 함수를 사용하여 PHP 배열에 키가 있는지 확인

PHP는 제공된 배열에 주어진 키 또는 인덱스가 존재하는지 확인하는 내장 함수 array_key_exists를 제공합니다. array_key_exists() 함수는 인덱스 배열 및 연관 배열과 함께 작동하지만 다차원 배열의 중첩 키는 찾을 수 없습니다. array_key_exists()는 첫 번째 차원 내에서만 키를 찾습니다. 키-값 쌍이 종료되지 않으면 배열은 숫자 키를 0부터 시작하는 기본 키로 간주합니다.

array_key_exists() 구문

array_key_exists(string|int $key, array $array): bool

매개변수

  • $key(필수): 이 매개변수는 입력 배열에서 검색해야 하는 키/인덱스를 나타냅니다.
  • $array(필수): 이 매개변수는 주어진 키/인덱스 $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()은 변수가 null에 할당되면 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