현재 위치: > 최신 기사 목록> array_filter () + array_values ​​()로 인덱스 배열을 재건하는 방법

array_filter () + array_values ​​()로 인덱스 배열을 재건하는 방법

M66 2025-06-04

PHP에서 배열은 일반적으로 사용되는 데이터 구조입니다. 개발 과정에서 우리는 종종 배열의 빈 값을 제거하고 배열 인덱스를 재구성 해야하는 상황에 종종 발생합니다. 다행스럽게도 PHP는 Array_Filter ()Array_Values ​​() 기능을 제공 하여이 작업을 쉽게 달성 할 수 있도록 도와줍니다.

1. array_filter () 함수 소개

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 값을 제거하지만 배열의 인덱스를 재구성하지 않으므로 반환 된 배열은 원래 배열의 색인을 유지합니다.

2. array_values ​​() 함수 소개

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 값을 제거합니다.

3. 포괄적 인 예 : 필터 빈 값을 필터 및 배열 인덱스 재 구축

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
)

4. URL에서 도메인 이름 교체를 처리합니다

배열에 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 으로 변경했습니다.

요약