> 백엔드 개발 > PHP 문제 > PHP에서 값이 배열에 있는지 확인하는 방법(다양한 방법에 대한 간략한 분석)

PHP에서 값이 배열에 있는지 확인하는 방법(다양한 방법에 대한 간략한 분석)

PHPz
풀어 주다: 2023-04-12 10:52:39
원래의
1225명이 탐색했습니다.

PHP는 널리 사용되는 프로그래밍 언어이며 그 배열은 매우 중요한 데이터 구조입니다. 값이 배열에 있는지 확인해야 할 경우 PHP의 in_array() 함수를 사용할 수 있습니다. 이 기사에서는 값이 배열에 있는지 확인하기 위해 in_array() 함수와 기타 여러 메서드를 사용하는 방법을 자세히 설명합니다.

1. in_array() 함수를 사용하여 값이 배열에 있는지 확인합니다.

PHP에서 in_array() 함수는 값이 배열에 있는지 확인하는 데 가장 간단하고 일반적으로 사용되는 방법입니다. 구문은 다음과 같습니다.

in_array($value, $array, $strict);

그 중 $value는 찾을 값, $array는 찾을 배열, $strict는 선택적 매개변수입니다. , 유형 검사를 수행할지 여부를 나타냅니다.

예를 들어, 과일이 포함된 $fruits 배열이 있습니다.

$fruits = [
  'apple',
  'banana',
  'pear',
  'orange',
  'kiwi'
];
로그인 후 복사

이제 "배"가 $fruits 배열에 있는지 확인하려면 다음 코드를 사용할 수 있습니다.

if (in_array('pear', $fruits)) {
  echo 'pear is in the array.';
} else {
  echo 'pear is not in the array.';
}
로그인 후 복사

출력 결과는 다음과 같습니다. :

pear is in the array.
로그인 후 복사

유형 검사를 수행하려면 $strict 매개변수를 true로 설정하면 됩니다. 예:

$numbers = [1, 2, 3, 4, 5];
if (in_array('1', $numbers, true)) {
  echo '1 is in the array.';
} else {
  echo '1 is not in the array.';
}
로그인 후 복사

출력 결과는 다음과 같습니다.

1 is not in the array.
로그인 후 복사

2. array_search() 함수를 사용하여 값이 배열에 있는지 확인합니다.

값이 배열에 있는지 확인하는 또 다른 방법은 array_search( ) 기능. 구문은 다음과 같습니다.

array_search($value, $array, $strict);

그 중 $value는 검색할 값, $array는 검색할 배열, $strict는 선택적 매개변수입니다. , 유형 검사를 수행할지 여부를 나타냅니다. 발견되면 함수는 배열에 있는 값의 키 이름을 반환하고, 발견되지 않으면 false를 반환합니다.

예를 들어, 일부 과일의 가격이 포함된 $prices 연관 배열이 있습니다.

$prices = [
  'apple' => 0.5,
  'banana' => 0.3,
  'pear' => 0.6,
  'orange' => 0.8,
  'kiwi' => 0.7
];
로그인 후 복사

이제 "바나나"의 가격이 $price 배열에 있는지 확인하려면 다음 코드를 사용할 수 있습니다.

$key = array_search(0.3, $prices);
if ($key !== false) {
  echo 'banana exists and the price is ' . $prices['banana'];
} else {
  echo 'banana does not exist.';
}
로그인 후 복사

출력 결과는 다음과 같습니다.

banana exists and the price is 0.3
로그인 후 복사
로그인 후 복사

유형 검사를 수행하려면 $strict 매개변수를 true로 설정할 수 있습니다. 예:

$key = array_search('0.3', $prices, true);
if ($key !== false) {
  echo 'banana exists but its price is in a different data type.';
} else {
  echo 'banana does not exist.';
}
로그인 후 복사

출력 결과는 다음과 같습니다.

banana does not exist.
로그인 후 복사

3. isset() 함수를 사용하여 값이 배열에 있는지 확인합니다.

또 다른 간단한 방법은 isset() 함수를 사용하여 키가 존재하는지 확인하는 것입니다. 배열에서. 예:

if (isset($prices['banana'])) {
  echo 'banana exists and the price is ' . $prices['banana'];
} else {
  echo 'banana does not exist.';
}
로그인 후 복사

출력 결과는 이전 예와 동일합니다. 즉:

banana exists and the price is 0.3
로그인 후 복사
로그인 후 복사

그러나 이 방법은 배열의 값 중 값이 존재하는지 여부를 확인할 수 없으며 키가 존재하는지 여부만 확인할 수 있습니다. 배열에서. 따라서 연관 배열이나 다차원 배열이 아닌 일반 배열에서만 작동합니다.

4. in_array() 및 array_search()의 확장 메서드를 사용하세요

in_array() 및 array_search() 함수를 직접 사용하는 것 외에도 값이 정렬. 예:

1 in_array() 함수에서 array_keys() 함수를 사용합니다.

if (in_array($value, array_keys($array))) {
  echo $value . ' exists in the array.';
} else {
  echo $value . ' does not exist in the array.';
}
로그인 후 복사

이 방법의 원리는 먼저 array_keys() 함수를 사용하여 배열의 모든 키를 가져온 다음 in_array() 함수는 값이 키 목록에 있는지 확인합니다. 그러나 이 방법은 비효율적이며 배열이 큰 경우 많은 메모리와 시간을 차지합니다.

2. array_flip() 함수와 isset() 함수 사용:

if (isset(array_flip($array)[$value])) {
  echo $value . ' exists in the array.';
} else {
  echo $value . ' does not exist in the array.';
}
로그인 후 복사

이 방법의 원리는 먼저 array_flip() 함수를 사용하여 배열의 키와 값을 반전시킨 다음 isset을 사용하는 것입니다. () 함수를 사용하여 값이 새 배열에 존재하는지 확인합니다. 이 방법은 더 효율적이지만 연관 배열이나 다차원 배열이 아닌 일반 배열에만 적용됩니다.

5. 요약

PHP에서는 값이 배열에 있는지 확인하는 방법이 많이 있습니다. 가장 일반적인 방법은 in_array() 함수와 array_search() 함수를 사용하는 것입니다. 유형 검사를 수행하려면 $strict 매개변수를 true로 설정해야 합니다. 또한 값이 배열에 있는지 더 잘 확인하는 데 도움이 되는 몇 가지 확장된 메서드가 있습니다. 상황에 따라 다른 방법이 필요합니다.

위 내용은 PHP에서 값이 배열에 있는지 확인하는 방법(다양한 방법에 대한 간략한 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿