>  기사  >  백엔드 개발  >  PHP는 빈 배열을 제거

PHP는 빈 배열을 제거

WBOY
WBOY원래의
2023-05-23 10:20:071347검색

PHP 개발에서는 빈 배열을 제거해야 하는 상황에 자주 직면합니다. 빈 배열은 시스템 리소스를 차지하고 프로그램 복잡성과 운영 비용을 증가시키기 때문입니다. 따라서 빈 배열을 올바르게 제거하는 것은 PHP 개발에 매우 ​​중요합니다.

PHP에서 빈 배열을 제거하는 몇 가지 방법을 소개하겠습니다.

방법 1: array_filter 함수 사용

PHP는 빈 배열을 쉽게 제거할 수 있는 array_filter 함수를 제공합니다.

array_filter 함수의 기본 구문은 다음과 같습니다.

array array_filter ( array $array [, callable $callback [, int $flag ]] )

여기서 $array는 입력 배열이고, $callback은 콜백 함수를 지정하는 선택적 매개변수이고, $flag는 추가 플래그를 지정하는 선택적 매개변수입니다. 콜백 함수는 배열의 각 요소를 유지해야 하는지 여부를 결정하기 위해 부울 값을 반환해야 합니다.

다음 예에서는 array_filter 함수를 사용하여 빈 배열을 제거하는 방법을 보여줍니다.

$data = array('foo', false, -1, null, 0, '', 'bar');
$result = array_filter($data, function($item) {
    return !empty($item);
});
print_r($result);

위 코드의 출력은 다음과 같습니다.

array (
  0 => 'foo',
  2 => -1,
  6 => 'bar',
)

array_filter 함수와 콜백 함수를 사용하면 빈 값을 제거할 수 있습니다. ​​​​배열에 유효한 값만 유지하십시오.

방법 2: foreach 루프 사용

array_filter 함수를 사용하지 않으려면 foreach 루프를 사용하여 빈 배열을 제거할 수도 있습니다. 사실 원리도 매우 간단합니다. 배열의 각 요소를 탐색하여 해당 요소가 비어 있는지 확인한 다음 유효한 값을 새 배열에 저장합니다.

다음 예에서는 foreach 루프를 사용하여 빈 배열을 제거하는 방법을 보여줍니다.

$data = array('foo', false, -1, null, 0, '', 'bar');
$result = array();
foreach ($data as $item) {
    if (!empty($item)) {
        $result[] = $item;
    }
}
print_r($result);

위 코드의 출력은 다음과 같습니다.

array (
  0 => 'foo',
  2 => -1,
  6 => 'bar',
)

foreach 루프와 판단 조건을 사용하면 array_filter 함수와 동일한 결과를 얻을 수 있습니다. , 배열 NULL 값의 항목을 제거하면 유효한 값만 유지됩니다.

방법 3: array_reduce 함수 사용

array_filter 및 foreach 루프 외에도 PHP는 배열의 모든 값을 계산하기 위한 array_reduce 함수도 제공합니다. array_reduce 함수를 사용하여 빈 배열을 제거할 수 있습니다.

array_reduce 함수의 기본 구문은 다음과 같습니다.

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

여기서 $array는 처리해야 하는 배열이고 $callback은 콜백 함수이며 $initial은 콜백의 초기 값을 지정하는 선택적 매개변수입니다. 기능.

다음 예에서는 array_reduce 함수를 사용하여 빈 배열을 제거하는 방법을 보여줍니다.

$data = array('foo', false, -1, null, 0, '', 'bar');
$result = array_reduce($data, function($accumulator, $item) {
    if (!empty($item)) {
        $accumulator[] = $item;
    }
    return $accumulator;
}, array());
print_r($result);

위 코드의 출력은 다음과 같습니다.

array (
  0 => 'foo',
  1 => -1,
  2 => 'bar',
)

array_reduce 함수와 콜백 함수를 사용하면 빈 값을 제거할 수 있습니다. ​​​​배열에 유효한 값만 유지하십시오.

방법 4: array_diff 함수를 사용하세요.

array_diff 함수는 PHP의 또 다른 배열 처리 함수로, 한 배열에는 있지만 다른 배열에는 없는 값을 반환하는 기능입니다.

다음 예에서는 array_diff 함수를 사용하여 빈 배열을 제거하는 방법을 보여줍니다.

$data = array('foo', false, -1, null, 0, '', 'bar');
$result = array_diff($data, array(null, '', false, 0));
print_r($result);

위 코드의 출력은 다음과 같습니다.

array (
  0 => 'foo',
  2 => -1,
  6 => 'bar',
)

array_diff 함수를 사용하면 배열에서 빈 값 ​​​​을 제거하고 유효한 값만 유지하십시오. array_diff 함수에 두 번째 매개변수로 전달된 배열은 가능한 모든 null 값을 포함해야 한다는 점에 유의해야 합니다.

결론

위의 방법을 통해 PHP 배열에서 null 값을 쉽게 제거하고 유효한 값만 유지할 수 있습니다. 실제 개발에서는 실제 상황에 따라 어떤 방법을 사용할지 선택해야 합니다. null 값만 제거해야 하는 경우 array_filter 함수나 foreach 루프를 사용하는 것이 좋습니다. 배열의 다른 값을 계산해야 하는 경우 array_reduce 함수를 사용하는 것이 좋습니다. 동시에 array_diff 함수를 사용할 때 두 번째 매개변수에는 가능한 모든 null 값이 포함되어야 한다는 점에 유의해야 합니다.

위 내용은 PHP는 빈 배열을 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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