빈 배열 요소를 제거하는 방법
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!