> 백엔드 개발 > PHP 문제 > PHP 배열에서 빈 요소를 제거하는 방법

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

PHPz
풀어 주다: 2023-04-23 18:07:44
원래의
605명이 탐색했습니다.

PHP 개발 프로세스에서 배열은 자주 사용되는 데이터 구조입니다. 실제 응용 프로그램에서는 배열을 더 잘 처리하고 사용하며 개발 효율성을 높이기 위해 배열에서 빈 요소를 삭제해야 하는 경우가 많습니다.

그렇다면 PHP에서 빈 배열 요소를 제거하는 방법은 무엇입니까?

1. foreach 루프를 사용하여 탐색

foreach 루프를 사용하여 배열을 탐색한 다음 비어 있는지 판단하여 배열 요소를 삭제할 수 있습니다.

$arr = array('a', '', 'c', 'd', '');
foreach ($arr as $key => $value) {
    if (empty($value)) {
        unset($arr[$key]);
    }
}

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

위 코드에서 foreach 루프 $arr 배열의 모든 요소를 ​​탐색하고 $value가 비어 있는지 확인합니다. 비어 있으면 unset 함수는 배열에서 요소를 삭제합니다. <code>foreach 循环遍历 $arr 数组中的所有元素,判断 $value 是否为空,如果为空,使用 unset 函数从数组中删除该元素。

二、使用 array_filter 函数

另一种常见的方法是使用 array_filter 函数。它可以接受一个数组作为参数,并返回一个新的数组,该数组中不含有值为 FALSENULL'' 或者 [] 的元素,它的语法如下:

$new_arr = array_filter($arr);
print_r($new_arr);
로그인 후 복사

三、使用 array_values 函数

使用 array_filter 函数删除掉空元素后,返回的数组可能会存在键名不连续的情况;为了让键名连续,我们可以使用 array_values 函数,该函数的作用是返回数组中所有的值并重新建立连续的整数索引,例如:

$new_arr = array_values(array_filter($arr));
print_r($new_arr);
로그인 후 복사

上述代码中,我们使用 array_filter 删除掉空元素,然后使用 array_values 函数重新建立连续的整数索引。

四、使用 array_reduce 函数

如果数组中含有空数组元素,则使用 array_filter 函数仍然无法将这些元素删除;此时我们可以使用 array_reduce 函数,遍历数组,并使用条件运算符删除掉空元素,示例如下:

$arr = array('a', '', 'c', 'd', array());
$new_arr = array_reduce($arr, function($result, $item) {
    return is_array($item) || $item !== '' ? array_merge($result, array($item)) : $result;
}, array());

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

上述代码中,使用 array_reduce 函数将数组 $arr 遍历一遍,使用条件运算符删除掉空元素。

五、总结

在 PHP 中剔除空数组元素可以使用多种方法,如使用 foreach 循环遍历、array_filter 函数、array_values 函数、array_reduce

2. array_filter 함수를 사용하세요 🎜🎜 또 다른 일반적인 방법은 array_filter 함수를 사용하는 것입니다. 배열을 매개변수로 허용하고 FALSE, NULL, '' 또는 값을 포함하지 않는 새 배열을 반환할 수 있습니다. [] 요소의 구문은 다음과 같습니다. 🎜rrreee🎜3. array_values ​​​​함수를 사용하세요. 🎜🎜 array_filter 함수를 사용하여 빈 요소를 삭제한 후 반환된 배열 키가 있을 수 있습니다. 이름이 불연속적인 경우 키 이름을 연속적으로 만들기 위해 array_values 함수를 사용할 수 있습니다. 이 함수의 기능은 배열의 모든 값을 반환하는 것입니다. 연속 정수 인덱스를 다시 설정합니다. 예: 🎜rrreee🎜Above 코드에서 array_filter를 사용하여 빈 요소를 삭제한 다음 array_values 함수를 사용하여 다시 설정합니다. 연속적인 정수 인덱스를 설정합니다. 🎜🎜4. array_reduce 함수를 사용하세요. 🎜🎜배열에 빈 배열 요소가 포함되어 있으면 array_filter 함수는 현재로서는 이러한 요소를 삭제할 수 없습니다. , 배열을 순회하고 조건 연산자를 사용하여 빈 요소를 삭제합니다. 예는 다음과 같습니다. 🎜rrreee🎜위 코드에서 array_reduce 함수를 사용하여 $arr배열을 순회합니다. > 빈 요소를 삭제하려면 조건부 연산 기호를 사용하세요. 🎜🎜5. 요약🎜🎜 foreach 루프 탐색, array_filter 함수, array_values등을 사용하여 PHP에서 빈 배열 요소를 제거하는 방법이 많이 있습니다. > 함수, array_reduce 함수 등 실제 상황과 개인 습관에 따라 선택해야 하는 구체적인 방법이 달라집니다. 어떤 방법을 사용하든 해당 작동 원리를 이해하고 후속 계산 및 사용에 영향을 주지 않도록 원래 배열을 수정하는 데 주의를 기울여야 합니다. 🎜

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

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