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

PHP에서 배열이 비어 있는지 확인하는 방법

PHPz
PHPz원래의
2023-04-20 13:54:33945검색

PHP에서는 배열이 비어 있는지 확인해야 하는 경우가 있습니다. 일반적으로 배열이 비어 있는지 확인하기 위해 empty() 또는 count() 함수를 사용하지만 배열의 모든 요소의 값이 NULL 또는 0인 경우 이러한 함수는 잘못된 결과를 얻을 수 있습니다. 따라서 이번 글에서는 배열이 비어 있는지를 정확하게 판별하는 방법을 소개하겠습니다.

1.empty() 함수의 한계

empty() 함수는 PHP에서 변수가 비어 있는지 확인하는 데 일반적으로 사용되는 함수입니다. 변수가 비어 있는지 여부를 확인할 수 있습니다. 변수가 정의되지 않았거나 해당 값이 false, '', 0, '0', null, array() 등이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 따라서 배열이 비어 있는지 판단할 때 일반적으로 다음과 같이 작성합니다.

$arr = array();
if(empty($arr)) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

이 방법은 간단해 보이지만 배열에 있는 모든 요소의 값이 NULL 또는 0인 경우 비어 있는() 함수가 반환됩니다. 사실, 이것은 분명히 우리가 원하는 결과가 아닙니다. 예:

$arr = array(null, 0, 0.0, false, '');
if(empty($arr)) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

위 코드는 배열을 빈 것으로 반환하는데 이는 올바르지 않습니다.

2. count() 함수 문제

배열이 비어 있는지 확인하는 데 일반적으로 사용되는 또 다른 방법은 배열의 요소 수를 반환할 수 있는 count() 함수를 사용하는 것입니다. 배열에 요소가 없으면 count() 함수는 0을 반환하고, 그렇지 않으면 배열의 요소 수를 반환합니다. 따라서 배열이 비어 있는지 확인하는 코드는 일반적으로 다음과 같습니다.

$arr = array();
if(count($arr) == 0) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

그러나 배열에 있는 모든 요소의 값이 NULL 또는 0인 경우 count() 함수도 0을 반환합니다. 잘못된 판단을 내리게 됩니다. 예:

$arr = array(null, 0, 0.0, false, '');
if(count($arr) == 0) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

위 코드는 배열을 빈 것으로 반환하는데, 이는 우리가 원하는 결과가 아닙니다.

3. 배열이 비어 있는지 정확하게 판별

위 문제를 해결하려면 배열이 비어 있는지를 정확하게 판별해야 합니다. 이를 확인하는 정확한 방법은 foreach 루프를 사용하여 배열을 순회하고 배열의 각 요소 값이 비어 있는지 확인하는 것입니다. 비어 있지 않은 요소를 선택하면 배열이 비어 있지 않고, 그렇지 않으면 배열이 비어 있습니다. 다음은 코드 예입니다.

function is_empty_array($arr) {
    foreach($arr as $value) {
        if(!empty($value)) {
            return false;
        }
    }
    return true;
}

$arr = array(null, 0, 0.0, false, '');
if(is_empty_array($arr)) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

위 코드는 "배열이 비어 있습니다"를 출력하며, 이는 우리에게 필요한 올바른 결과입니다.

위 내용은 배열이 비어 있지 않은지 확인하기 위해 이 기사에서 소개한 PHP 메서드입니다. foreach 루프를 사용하여 배열을 순회하면 empty() 및 count() 함수의 제한을 피하고 배열이 비어 있는지 정확하게 확인할 수 있습니다. 비어 있는.

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

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