>  기사  >  백엔드 개발  >  PHP는 특정 데이터가 배열에 있는지 쿼리합니다.

PHP는 특정 데이터가 배열에 있는지 쿼리합니다.

WBOY
WBOY원래의
2023-05-19 15:21:39435검색

PHP 개발에서는 배열에 대해 특정 작업을 수행해야 하는 경우가 많으며, 일반적인 요구 사항 중 하나는 특정 데이터가 배열에 있는지 쿼리하는 것입니다. 이 요구 사항을 충족하는 방법에는 여러 가지가 있습니다. 아래에서는 몇 가지 일반적인 방법을 자세히 소개합니다.

  1. in_array() 함수

PHP는 배열에 값이 존재하는지 확인하는 함수인 in_array() 함수를 제공합니다. 이 함수를 사용하는 방법은 다음과 같습니다:

bool in_array(mixed $needle, array $haystack [, bool $strict = false ])

여기서 $needle은 찾을 값을 나타내고, $haystack은 찾을 배열을 나타냅니다. $ strict는 유형 검사 활성화 여부를 나타냅니다.

예:

$example = array('a', 'b', 'c');
if (in_array('a', $example)) {
    echo "存在";
} else {
    echo "不存在";
}

위의 예에서 'a' 값이 $example 배열에 존재하므로 함수는 true를 반환합니다. 찾고 있는 값을 'd'로 변경하면 함수는 false를 반환합니다.

  1. array_search() 함수

in_array() 함수 외에도 PHP는 array_search() 함수도 제공합니다. 이 함수의 함수는 배열에서 값을 찾아 해당 키 이름을 반환하는 것입니다. 값이 배열에 없으면 false를 반환합니다.

이 함수를 사용하는 방법은 다음과 같습니다.

mixed array_search(mixed $needle, array $haystack [, bool $strict = false])

예:

$example = array('a' => 1, 'b' => 2, 'c' => 3);
$key = array_search(2, $example);
if ($key !== false) {
    echo '存在,对应的键名为:' . $key;
} else {
    echo '不存在';
}

위의 예에서 함수는 "exist"를 반환합니다. , 해당 키 이름은 값 2가 배열에 존재하고 해당 키 이름이 b이기 때문에 b"입니다. 찾고 있는 값이 4이면 함수는 false를 반환합니다.

array_search() 함수를 사용할 때 키 이름이 0인 경우 주의해야 합니다. 찾을 값이 0이면 함수는 키 이름이 0인 값을 존재하지 않는 것처럼 처리하기 때문입니다. 이 문제를 해결하려면 세 번째 매개변수에서 유형 검사를 켜면 됩니다.

  1. 배열 키 이름과 결합된 in_array() 함수 사용

때로는 배열에서 값을 찾아야 할 때 해당 값에 해당하는 키 이름도 알아야 합니다. 이때 배열 키 이름과 결합된 in_array() 함수를 사용하여 검색할 수 있습니다.

구체적인 구현 방법은 배열에 키 이름을 추가한 다음 in_array() 함수를 사용하여 검색하는 것입니다.

$example = array('a' => 1, 'b' => 2, 'c' => 3);
if (in_array(2, $example, true)) {
    $key = array_search(2, $example, true);
    echo '存在,对应的键名为:' . $key;
} else {
    echo '不存在';
}

위 예에서는 원본 인덱스 배열을 연관 배열로 변환했습니다. 해당 배열 키 이름 값을 찾습니다.

요약

위의 세 가지 방법은 모두 PHP의 특정 데이터가 배열에 있는지 쿼리하는 데 사용할 수 있습니다. 구체적인 사용법은 실제 요구 사항에 따라 다릅니다. 실제 개발에서는 다양한 배열 구조가 다양한 방식으로 처리될 수 있다는 점에 유의해야 합니다. 또한 자주 쿼리 작업을 수행해야 하는 경우 배열을 연관 배열로 변환하면 검색 작업이 더욱 편리해집니다.

위 내용은 PHP는 특정 데이터가 배열에 있는지 쿼리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.