>  기사  >  백엔드 개발  >  PHP에서 데이터가 배열에 있는지 확인하는 방법

PHP에서 데이터가 배열에 있는지 확인하는 방법

PHPz
PHPz원래의
2023-04-24 09:12:421177검색

PHP에서는 때로는 데이터 조각이 배열에 있는지 쿼리해야 할 때가 있습니다. 이는 개발 중에 자주 발생하는 문제입니다. 이 문서에서는 다양한 쿼리 방법과 사용 시나리오를 포함하여 이 문제를 자세히 소개합니다.

방법 1: in_array() 함수

in_array() 함수는 PHP에 내장된 함수로, 값이 배열에 있는지 확인하는 데 사용됩니다. 이 함수는 두 개의 매개변수를 받을 수 있습니다. 첫 번째 매개변수는 찾을 값이고 두 번째 매개변수는 쿼리할 배열입니다. 이 함수는 부울 값을 반환하며, 쿼리 결과가 true이면 true를 반환하고, 쿼리 결과가 false이면 false를 반환합니다.

샘플 코드는 다음과 같습니다.

$array = array('apple', 'banana', 'orange');
if (in_array('apple', $array)) {
    echo "apple is in the array";
} else {
    echo "apple is not in the array";
}

위 예제에서는 배열을 정의한 후 in_array() 함수를 사용하여 배열에 'apple'이 있는지 쿼리하고 최종 출력 결과는 "apple is"입니다. 배열에서."

방법 2: array_search() 함수

array_search() 함수도 PHP에 내장된 함수로, 배열에서 값의 위치를 ​​쿼리하는 데 사용됩니다. 이 함수는 두 개의 매개변수를 받을 수 있습니다. 첫 번째 매개변수는 찾을 값이고 두 번째 매개변수는 쿼리할 배열입니다. 쿼리 결과가 true이면 배열에 있는 값의 인덱스가 반환되고, 쿼리 결과가 false이면 false가 반환됩니다.

샘플 코드는 다음과 같습니다.

$array = array('apple', 'banana', 'orange');
$key = array_search('apple', $array);
if ($key !== false) {
    echo "apple is in the array at index " . $key;
} else {
    echo "apple is not in the array";
}

위의 예에서도 배열을 정의한 다음 array_search() 함수를 사용하여 배열에서 'apple'의 인덱스를 쿼리합니다. 최종 출력 결과는 "apple. 인덱스 0의 배열에 있습니다."

array_search() 함수의 쿼리 결과가 0일 수 있으므로 쿼리 결과가 false인지 확인하려면 느슨한 항등 연산자 "!== false"를 사용해야 합니다.

방법 3: in_array() 함수 및 완전 항등 연산자

in_array() 함수를 완전 항등 연산자 "==="와 결합하여 쿼리 결과의 정확성을 보장할 수도 있습니다. 엄격한 항등 연산자는 유형을 구별하므로 유형 불일치로 인한 쿼리 오류를 방지합니다.

샘플 코드는 다음과 같습니다.

$array = array('1', 2, '3.14', 'apple');
if (in_array(2, $array, true)) {
    echo "2 is in the array";
} else {
    echo "2 is not in the array";
}

위의 예에서는 정수 2를 포함하는 배열을 정의하고 in_array() 함수와 완전 항등 연산자를 사용하여 2가 배열에 있는지 쿼리합니다. 결과는 "2가 배열에 있습니다"입니다.

엄격 항등 연산자를 사용하지 않으면 값 2와 문자열 '2'가 동일한 것으로 간주되므로 잘못된 쿼리 결과가 반환될 수 있다는 점에 유의하세요.

방법 4: in_array() 함수와 array_map() 함수

in_array() 함수와 array_map() 함수를 결합하여 배열에 여러 값이 있는지 쿼리할 수도 있습니다. array_map() 함수는 배열의 각 요소에 사용자 정의 함수를 적용하고 처리 결과로 구성된 새로운 배열을 반환할 수 있습니다.

샘플 코드는 다음과 같습니다.

$array = array('apple', 'banana', 'orange');
$search = array('apple', 'pear', 'grape');
$result = array_map(function ($val) use ($array) {
    return in_array($val, $array);
}, $search);

print_r($result);

위 예제에서는 쿼리할 배열과 값의 배열을 정의한 후 array_map() 함수를 사용하여 각 요소에 in_array()를 적용했습니다. 쿼리할 값 배열에서 ) 함수는 쿼리 결과로 구성된 새 배열을 반환합니다. 최종 출력 결과는 다음과 같습니다.

Array
(
    [0] => 1
    [1] => 0
    [2] => 0
)

결과에서 1은 쿼리 결과가 true임을 나타냅니다. 쿼리 결과가 거짓이라는 것입니다.

array_map() 함수를 사용하여 배열에 다른 배열의 여러 값이 포함되어 있는지 쿼리하면 새 배열이 반환되므로 쿼리 결과를 출력하려면 print_r()과 같은 함수를 사용해야 합니다. .

요약하자면, PHP에서는 데이터가 배열에 있는지 쿼리하기 위해 선택할 수 있는 방법이 많이 있습니다. 특정 사용 시나리오와 요구 사항에 따라 적절한 방법을 선택해야 합니다.

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

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