PHP 개발에서는 배열 데이터를 처리해야 하는 경우가 많으며 null 값을 지우는 것이 일반적인 작업입니다. null 값은 빈 문자열, null 값 또는 정의되지 않은 값을 참조할 수 있습니다. 이 기사에서는 PHP 함수를 사용하여 배열에서 null 값을 지우는 방법을 살펴보겠습니다.
1. PHP 함수 array_filter()
PHP는 배열을 필터링하고 필터링된 새 배열을 반환할 수 있는 array_filter() 함수를 제공합니다. 콜백 함수를 전달하여 어떤 값이 유지되는지 확인할 수 있습니다.
array_filter() 함수를 사용하여 배열의 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과 빈 문자열을 엄격하게 비교하려면 == 대신 ===를 사용해야 합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!