PHP 배열에서 null을 제거하는 방법: 1. "foreach( $arr as $k=>$v){...}" 메서드를 사용하여 배열에서 null 값을 제거합니다. 2. while을 사용합니다. 3. array_filter 함수를 사용하여 배열을 필터링하고 null 값을 제거합니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 8.1, DELL G3 컴퓨터
PHP의 배열에서 null을 제거하는 방법은 무엇입니까?
PHP에서 배열의 null 값을 삭제하는 방법 소개
과거에는 배열에서 null 값을 제거할 때 foreach나 while을 강제로 사용했다고 하기가 민망합니다. 이 두 가지 구문 구조는 배열의 빈 요소를 삭제하는 데 사용되었습니다. 간단한 코드는 다음과 같습니다.
코드는 다음과 같습니다.
<?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); } ?>
그리고 기분이 꽤 좋지만 이전에 시도해 본 적이 없습니다. , 먼저 $arr를 개체로 변환한 다음 개체의 특성을 사용하여 삭제합니다. foreach foreach가 실행될 때마다 변수가 너무 많이 복사됩니다. 페이지를 넘기면 큰 낭비가 될 것입니다.
인터넷을 돌아다니던 중 누군가 array_filter를 사용하자고 제안하는 것을 보고 깜짝 놀랐습니다. 설명서를 열어 살펴보니 보물산을 지키고 있었지만 사용법을 몰랐던 것입니다.
array_filter 함수의 기능은 콜백 함수를 사용하여 배열을 필터링하는 것입니다. 항상 콜백 함수를 사용하여 처리할 수 있다고 생각했지만 매뉴얼에 다른 문장이 있는 경우는 찾지 못했습니다. 콜백 함수가 아니며 기본값은 배열에서 값이 false인 항목을 삭제하는 것입니다.
코드는 다음과 같습니다.
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
출력 값은 다음과 같습니다.
코드는 다음과 같습니다.
Array ( [0] => foo [2] => -1 )
앞으로 아직 매뉴얼을 더 읽어봐야 할 것 같습니다... array_slice와 마찬가지로, 좋은 일이야. 안타깝게도 나는 이전에 그것을 눈치 채지 못했습니다.
첨부 파일: 또 다른 예
코드는 다음과 같습니다.
$strDelCodes = "A;B;;C;;C;D;;;D;D"; $rsArray = array_values (array_unique (array_diff (split (";", $strDelCodes), array (""))));
$rsArray 배열에 저장된 값은 다음과 같습니다. A B C D
array_values() 함수는 주어진 키 값을 모두 포함하는 배열을 반환합니다. 배열이지만 키 이름은 유지하지 않습니다.
array_diff() 함수는 두 배열의 차이 배열을 반환합니다. 이 배열에는 비교되는 배열에 있지만 다른 매개변수 배열에는 없는 모든 키가 포함되어 있습니다.
array_unique() 함수는 배열에서 중복된 값을 제거하고 결과 배열을 반환합니다. 여러 배열 요소의 값이 동일할 경우 첫 번째 요소만 유지되고 나머지 요소는 삭제됩니다.
반환된 배열의 키 이름은 변경되지 않습니다.
array_merge() 함수는 두 개 이상의 배열을 하나의 배열로 병합합니다.
중복된 키 이름이 있는 경우 해당 키의 키 값은 마지막 키 이름에 해당하는 값이 됩니다. (나중 키 이름이 이전 키 이름을 덮어씁니다.) 배열이 숫자로 인덱싱된 경우 키 이름은 연속적으로 다시 인덱싱됩니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP 배열에서 null을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!