이전 글에서는 1차원 배열을 지정된 수의 요소가 포함된 2차원 배열로 분할하는 방법에 대해 배웠습니다. 관심이 있는 경우 링크를 클릭하여 → "PHP 배열 학습"을 읽어보세요. : 1차원 배열 지정된 여러 요소를 포함하는 2차원 배열이 됩니다》. 이번에는 PHP 배열에 대해 공부하고 실습하며, 배열에서 공백과 중복을 제거하는 방법에 대해 이야기해보겠습니다.
→관련 추천 : 《PHP 배열 학습 시리즈 요약(지속 업데이트~)》
오늘 글의 주요 내용은 빈 요소를 삭제하고 배열의 요소를 복제하는 것입니다.
먼저 살펴보겠습니다배열에서 빈 요소를 삭제하는 방법은 무엇인가요? 여기에서는 두 가지 방법을 소개하겠습니다.
방법 1, foreach 루프 + 비어 있음() + unset()
구현 아이디어:
foreach 문을 사용하여 $array 배열을 순회하고 각 루프의 $key에 키 이름을 할당합니다. 값은 $value
foreach($array as $key => $value){ }
에 할당됩니다. 루프에서 empty() 함수를 사용하여 $value가 비어 있는지 확인합니다. 비어 있으면 unset()을 사용하여 요소를 삭제합니다
우리는 아래에 완전한 구현 코드를 제공합니다:
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql"); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
출력 결과:
설명: PHP에서 empty() 함수는 변수가 비어 있는 것으로 간주되는지 확인하는 데 사용됩니다.
empty()는 변수가 다음 값과 같을 때 빈 것으로 간주합니다:
""(빈 문자열)
0(0 정수)
0.0(예: 포인트의 경우 float 0)
"0"(문자열로 0)
NULL
FALSE
Array()(빈 배열)
$var(문장, 그러나 값 변수는 없습니다)
방법 2. array_filter() 함수를 사용하여 필터링
array_filter() 함수는 콜백 함수를 사용하여 배열의 요소를 필터링할 수 있습니다. 이 함수는 배열의 각 값을 반복하여 사용자 정의 함수 또는 콜백 함수에 전달합니다. 콜백 함수를 생략하면 기본적으로 null 값이 필터링됩니다. (array_filter() 함수는 원래 배열을 변경하지 않습니다.)
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql",""); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
출력 결과:
array_filter()는 배열 요소를 필터링할 때 인덱스를 재설정하지 않는 것을 볼 수 있습니다. 빈 요소를 삭제한 후에도 원래 색인 순서는 그대로 유지됩니다.
그렇다면 인덱스를 재설정하고 0부터 다시 정렬하려면 어떻게 해야 할까요? array_values()
함수를 사용할 수 있습니다. array_values()
函数。
var_dump(array_values($filtered_array));
是不是很简单!
上面我们了解了去除空元素的方法,下面我们看看怎么去除重复数组元素。
PHP数组删除重复数组不用借助其他方法,PHP直接就内置了一个函数来实现这个操作,大家知道是什么函数吗?
好了,不买关子了,就是array_unique()
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 11, "PHP中文网",'',"green",2021,"mysql","","green"); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>
위에서 빈 요소를 제거하는 방법을 배웠으니 이제
중복 배열 요소를 제거하는 방법을 살펴보겠습니다.
PHP 배열에서 중복 배열을 삭제하기 위해 다른 방법을 사용할 필요가 없습니다. PHP에는 이 작업을 수행하는 내장 함수가 있습니다.
알겠습니다. 더 이상 소란을 피울 필요가 없습니다. 바로array_unique()
함수입니다. 배열에 동일한 값이 2개 이상 있으면 array_unique() 함수는 첫 번째 값만 유지하고 나머지 값은 제거합니다. var_dump(array_values($result));
array_unique() 함수는 키 이름(인덱스)을 재설정하지 않으며 유지된 배열은 첫 번째 배열 항목의 키 이름 유형을 유지합니다. 따라서 array_unique() 함수를 사용하여 중복된 요소를 제거한 후 array_values() 함수를 사용하여 인덱스를 재설정할 수 있습니다. 실제로 배열에 중복된 키 이름이 없다는 기능을 사용하여 중복된 배열 요소를 제거할 수도 있습니다. 위 내용은 PHP 배열에서 공백 또는 중복 요소를 제거하는 방법 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!array_flip(array_flip($array))