Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 null 값 제거하기 – array_filter() 함수 완벽 가이드

PHP에서 배열에 포함된 null 값을 제거하려면 내장 함수인 array_filter()를 사용하면 됩니다. 이 함수는 콜백 없이 호출될 경우 배열에서 false로 평가되는 모든 요소(null, 0, 빈 문자열 등)를 자동으로 걸러냅니다.

array_filter() 기본 사용법

예를 들어 다음과 같이 학생 정보가 담긴 연관 배열이 있다고 가정해 보겠습니다. 여기서 lastName 키의 값은 null입니다.

$studentDetails = array("firstName" => "John", "lastName" => null);
echo "원본 배열 = ";
print_r($studentDetails);

array_filter()를 적용해 null 값을 제거합니다.

$result = array_filter($studentDetails);

전체 예제 코드

<!DOCTYPE html>
<html>
<body>
<?php
    $studentDetails = array("firstName" => "John", "lastName" => null);
    echo "원본 배열 = ";
    print_r($studentDetails);

    $result = array_filter($studentDetails);

    echo "</br>";
    echo "null 제거 후 결과 = ";
    print_r($result);
?>
</body>
</html>

실행 결과

원본 배열 = Array ( [firstName] => John [lastName] => )
null 제거 후 결과 = Array ( [firstName] => John )

주의할 점

array_filter()는 콜백 함수를 지정하지 않으면 false로 평가되는 모든 값(null뿐 아니라 0, "0", 빈 문자열, 빈 배열 등)을 함께 제거한다는 점에 유의해야 합니다. 만약 null 값만 정확히 제거하고 싶다면 콜백 함수를 직접 지정하는 것이 좋습니다.

$result = array_filter($studentDetails, function($value) {
    return !is_null($value);
});

이처럼 PHP에서는 array_filter() 하나만으로도 간단하게 배열의 불필요한 값을 정리할 수 있으며, 상황에 맞게 콜백을 조합하면 더욱 정교한 필터링이 가능합니다.