PHP에서 배열은 일반적으로 사용되는 데이터 구조입니다. 개발 과정에서 우리는 종종 배열의 빈 값을 제거하고 배열 인덱스를 재구성 해야하는 상황에 종종 발생합니다. 다행스럽게도 PHP는 Array_Filter () 및 Array_Values () 기능을 제공 하여이 작업을 쉽게 달성 할 수 있도록 도와줍니다.
Array_Filter () 함수는 배열에서 요소를 필터링하는 데 사용됩니다. 기본적으로 Array_Filter ()는 False 값 (예 : NULL , FALLE , 0 , 0, " 등)의 요소를 제거합니다. 이 함수는 오리지널 배열의 모든 요소를 포함하는 새 배열을 거짓 으로 반환합니다.
샘플 코드 :
$array = [1, 0, 2, null, 3, '', 4];
$filteredArray = array_filter($array);
print_r($filteredArray);
출력 결과 :
Array
(
[0] => 1
[2] => 2
[4] => 3
[6] => 4
)
위에서 볼 수 있듯이 Array_Filter () 함수는 배열의 NULL 값을 제거하지만 배열의 인덱스를 재구성하지 않으므로 반환 된 배열은 원래 배열의 색인을 유지합니다.
Array_Values () 함수는 배열의 모든 값의 새로운 배열을 반환하고 다시 표시합니다. 일반적으로 배열을 필터링 한 후 Array_Values ()를 사용하여 배열을 다시 표시합니다.
샘플 코드 :
$array = [1, 0, 2, null, 3, '', 4];
$filteredArray = array_filter($array);
$reindexedArray = array_values($filteredArray);
print_r($reindexedArray);
출력 결과 :
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
Array_Values ()를 사용하여 배열의 인덱스를 성공적으로 재구성하고 모든 NULL 값을 제거합니다.
Array_Filter () 및 Array_Values ()를 결합하여 배열 및 재 인덱스에서 널 값을 필터링하는 실용적인 기능을 만들 수 있습니다.
function cleanAndReindexArray($array) {
$filtered = array_filter($array); // 빈 값을 필터링하십시오
return array_values($filtered); // 린덱스 배열
}
$array = [1, 0, 2, null, 3, '', 4];
$cleanedArray = cleanAndReindexArray($array);
print_r($cleanedArray);
출력 결과 :
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
배열에 URL이 포함되어 있고 도메인 이름을 m66.net 으로 바꾸어야하는 경우 Array_Map () 및 일반 표현식으로 수행 할 수 있습니다.
샘플 코드 :
$array = [
'https://example.com/page1',
'http://test.com/page2',
'https://anotherdomain.com/page3'
];
$replacedArray = array_map(function($url) {
return preg_replace('/https?:\/\/([^\/]+)/', 'https://m66.net', $url);
}, $array);
print_r($replacedArray);
출력 결과 :
Array
(
[0] => https://m66.net/page1
[1] => http://m66.net/page2
[2] => https://m66.net/page3
)
위의 예에서는 preg_replace ()를 사용하여 URL의 도메인 이름을 바꾸고 m66.net 으로 변경했습니다.
관련 태그:
array_filter