PHP 배열에서 null 값을 지우는 방법

PHPz
풀어 주다: 2023-04-26 13:45:48
원래의
853명이 탐색했습니다.

PHP 개발에서는 배열 데이터를 처리해야 하는 경우가 많으며 null 값을 지우는 것이 일반적인 작업입니다. null 값은 빈 문자열, null 값 또는 정의되지 않은 값을 참조할 수 있습니다. 이 기사에서는 PHP 함수를 사용하여 배열에서 null 값을 지우는 방법을 살펴보겠습니다.

1. PHP 함수 array_filter()

PHP는 배열을 필터링하고 필터링된 새 배열을 반환할 수 있는 array_filter() 함수를 제공합니다. 콜백 함수를 전달하여 어떤 값이 유지되는지 확인할 수 있습니다.

array_filter() 함수를 사용하여 배열의 null 값을 삭제할 때 다음 두 가지 사항에 주의해야 합니다.

  1. 콜백 함수 전달: 필터 조건이 다르기 때문에 다음을 수행해야 합니다. 콜백 함수를 전달하여 현재 배열 요소가 null인지 확인합니다. 콜백 함수를 맞춤화하여 각 배열 요소를 판단하여 해당 요소를 유지할지 여부를 결정할 수 있습니다. 다음은 사용자 정의 콜백 함수를 사용하여 배열의 빈 값을 지우는 샘플 코드입니다.
function removeEmptyValues($value) {
    return !empty($value) || $value === 0;
}

$array = array("", "test", null, " ", 0, "0");
$result = array_filter($array, "removeEmptyValues");

print_r($result);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [1] => test
    [3] =>  
    [4] => 0
    [5] => 0
)
로그인 후 복사

여기서 RemoveEmptyValues() 함수는 배열 요소가 빈 문자열인지 여부를 결정합니다. null 값 또는 0 요소를 유지할지 여부를 결정합니다. 0과 빈 문자열을 엄격하게 비교하려면 == 대신 ===를 사용해야 합니다.

  1. 배열 키 이름 전달: 기본적으로 array_filter() 함수를 사용하여 배열의 빈 값을 지울 때 함수는 새 배열의 색인을 다시 생성합니다. 즉, 원래 배열의 키 이름은 삭제되었습니다. 원래 배열의 키 이름을 유지하려면 아래와 같이 배열 키 이름을 콜백 함수에 전달해야 합니다.
function removeEmptyValues($key, $value) {
    return !empty($value) || $value === 0;
}

$array = array("name" => "", "age" => null, "sex" => "male");
$result = array_filter($array, "removeEmptyValues", ARRAY_FILTER_USE_BOTH);

print_r($result);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [sex] => male
)
로그인 후 복사

콜백 함수에서 두 개의 매개변수를 전달했습니다. $key 및 $value , $key는 현재 배열 요소의 키 이름을 나타내고, $value는 배열 요소의 값을 나타냅니다. 이 경우 세 번째 매개변수 ARRAY_FILTER_USE_BOTH를 추가해야 합니다. 이는 콜백 함수를 사용하여 키 이름과 키 값을 전달하는 것을 의미합니다.

2. foreach() 사용

array_filter() 함수 외에도 foreach() 루프를 사용하여 배열의 null 값을 지울 수도 있습니다. 이 메서드는 배열 요소를 하나씩 순환하여 null 값을 지웁니다. 다음 코드는 foreach()를 사용하여 배열에서 null 값을 지우는 방법을 보여줍니다.

$array = array("", "test", null, " ", 0, "0");
$result = array();

foreach ($array as $value) {
    if (!empty($value) || $value === 0) {
        $result[] = $value;
    }
}
print_r($result);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [0] => test
    [1] =>  
    [2] => 0
    [3] => 0
)
로그인 후 복사

이 메서드는 배열 요소를 반복하고 if 문을 사용하여 요소가 null인지 확인합니다. null이고, null이 아닌 경우 새 배열에 값이 추가됩니다.

3. array_map() 함수 사용

PHP는 지정된 콜백 함수를 배열의 각 요소에 적용하고 새 배열을 반환할 수 있는 또 다른 함수 array_map()도 제공합니다. 콜백 함수를 전달하여 배열에서 null 값을 지울 수 있습니다. 다음은 array_map() 함수를 사용하여 배열 null 값을 지우는 샘플 코드입니다.

function removeEmptyValues($value) {
    return !empty($value) || $value === 0;
}

$array = array("", "test", null, " ", 0, "0");
$result = array_map("removeEmptyValues", $array);

print_r($result);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [0] => 
    [1] => test
    [2] => 
    [3] =>  
    [4] => 
    [5] => 0
)
로그인 후 복사

array_map() 함수를 사용하여 배열 null 값을 지울 때 인덱스 키 이름은 원래 배열은 유지되지 않으므로 요소의 값만 출력 결과에 유지됩니다.

요약

PHP 개발에서는 배열의 null 값을 지워야 하는 경우가 많습니다. 이 문서에서는 array_filter(), foreach() 루프 및 array_map() 함수를 사용하는 세 가지 일반적인 방법을 소개합니다. 그 중 array_filter() 함수는 세 가지 방법 중 가장 널리 사용되며 콜백 함수는 다양한 요구 사항에 맞게 사용자 정의할 수 있습니다. 원래 배열의 키 이름을 유지해야 하는 경우 array_filter()의 세 번째 매개변수 또는 사용자 정의 콜백 함수를 사용하고 키 이름과 키 값을 두 개의 매개변수로 전달할 수 있습니다. 원래 배열의 키 이름과 인덱스를 유지해야 하는 경우 foreach()를 사용하여 배열을 반복하고 요소가 null인지 여부를 하나씩 확인할 수 있습니다. null 값을 지우기 위해 array_map() 함수를 사용할 때 출력 배열의 인덱스 키 이름이 재설정될 수 있으므로 원래 배열의 키 이름을 유지해야 하는 경우 별도로 처리해야 한다는 점에 유의하세요.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿