>백엔드 개발 >PHP 튜토리얼 >PHP 배열에서 빈 요소를 효과적으로 제거하는 방법은 무엇입니까?

PHP 배열에서 빈 요소를 효과적으로 제거하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-29 01:11:11611검색

How to Effectively Remove Empty Elements from a PHP Array?

빈 배열 요소를 제거하는 방법

$linksArray 배열에서 빈 요소를 제거하는 코드가 의도한 대로 작동하지 않습니다. 이는 unset($link)가 배열의 요소 자체가 아닌 $link 변수에 대한 참조만 제거하기 때문입니다.

empty() 함수도 변수가 비어 있는지 확인하므로 작동하지 않습니다. , 배열 요소가 아닙니다.

배열에서 빈 요소를 제거하려면 array_filter() 함수를 사용할 수 있습니다. array_filter()는 배열과 콜백 함수를 인수로 사용합니다. 콜백 함수는 배열의 각 요소에 적용되며 콜백 함수가 false를 반환하면 해당 요소가 배열에서 제거됩니다.

귀하의 경우 다음 코드를 사용하여 $linksArray에서 빈 요소를 제거할 수 있습니다. :

$linksArray = array_filter($linksArray);

그러나 정확한 문자열 '0'인 요소를 보존해야 하는 경우 사용자 정의가 필요합니다. 콜백:

// PHP 7.4 and later
print_r(array_filter($linksArray, fn($value) => !is_null($value) && $value !== ''));

// PHP 5.3 and later
print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; }));

// PHP < 5.3
print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));

참고: 빈 요소를 제거한 후 배열의 색인을 다시 생성해야 하는 경우 다음을 사용하세요.

$linksArray = array_values(array_filter($linksArray));

위 내용은 PHP 배열에서 빈 요소를 효과적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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