>백엔드 개발 >PHP 문제 >PHP가 배열에 존재하지 않는다고 판단합니다.

PHP가 배열에 존재하지 않는다고 판단합니다.

WBOY
WBOY원래의
2023-05-19 13:51:37381검색

PHP 개발에서 배열은 자주 사용되는 데이터 유형 중 하나입니다. 때때로 우리는 특정 값이 배열에 존재하는지 확인해야 할 때가 있습니다. 이를 달성하기 위해 in_array() 함수를 사용할 수 있습니다. 하지만 배열에 값이 존재하지 않는지 확인해야 하는 경우에는 어떻게 해야 할까요? 이 기사에서는 이 문제를 해결하는 두 가지 방법을 소개합니다.

방법 1: !in_array() 함수 사용
in_array() 함수는 배열에 값이 존재하는지 여부를 확인할 수 있습니다. 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 그런 다음 !in_array() 함수를 사용하여 배열에 값이 존재하지 않는지 확인합니다. 아래와 같이

$array = array(1, 2, 3, 4, 5);
if (!in_array(6, $array)) {
    echo '6不存在于数组中';
}

코드에서는 6이 배열에 존재하지 않는지 판단하여, 존재하지 않으면 '6이 배열에 존재하지 않습니다'라고 출력합니다.

방법 2: array_search() 함수
array_search() 함수를 사용하여 배열에서 주어진 값을 검색하고 해당 키 이름을 반환합니다. 검색에 성공하면 키 이름이 반환되고, 그렇지 않으면 false가 반환됩니다. 그런 다음 배열에 값이 존재하지 않는지 확인하려면 array_search() 함수를 사용할 수 있습니다. 아래와 같이

$array = array(1, 2, 3, 4, 5);
if (false === array_search(6, $array)) {
    echo '6不存在于数组中';
}

코드에서 array_search() 함수를 사용하여 $array 배열에서 키 이름 6을 검색하는데 실패하고 false를 반환하면 배열에 6이 존재하지 않는 것으로 판단합니다. , '6이 배열에 존재하지 않습니다'가 출력됩니다.

하지만 배열에 값이 존재하지 않는지 확인하기 위해 !in_array() 또는 array_search() 함수를 사용할 때는 값뿐만 아니라 반환 값의 유형과 값을 모두 비교해야 한다는 점에 유의해야 합니다. . PHP에서는 false가 때때로 0 또는 빈 문자열로 간주되기 때문입니다. 따라서 비교에는 "==="를 사용하는 것이 좋습니다. 예:

$array = array(0, false, "", null);
if (false === array_search(0, $array)) {
    echo "0不在数组中";
}
if (false === in_array(false, $array)) {
    echo "false不在数组中";
}
if (false === in_array("", $array)) {
    echo "空字符串不在数组中";
}
if (false === in_array(null, $array)) {
    echo "null不在数组中";
}

코드에서 $array 배열에는 0, false, 빈 문자열 및 null이 포함됩니다. array_search() 및 in_array() 함수를 각각 사용하여 이러한 값이 배열에 존재하지 않는지 확인합니다. false는 0과 빈 문자열과는 다른 유형을 가지므로 비교에는 "==="를 사용해야 합니다.

위는 배열에 값이 존재하지 않는지 확인하는 두 가지 방법입니다. PHP 개발에 도움이 되길 바랍니다.

위 내용은 PHP가 배열에 존재하지 않는다고 판단합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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