현재 위치: > 최신 기사 목록> PHP 다차원 배열의 방법 및 예제 1 차원 배열

PHP 다차원 배열의 방법 및 예제 1 차원 배열

gitbox 2025-06-30

PHP 다차원 배열 소개 1 차원 배열에 대한 소개

PHP 개발에서는 종종 다차 차원 어레이를 1 차원 어레이로 변환해야 할 필요성이 있습니다. 다차원 배열은 배열에 다른 배열이 요소로 포함되어 있음을 나타내는 배열이며, 1 차원 배열은 각 요소가 기본 데이터 유형 인 간단한 배열입니다. 이 기사는 다차원 배열을 1 차원 어레이로 변환하는 두 가지 일반적인 방법을 소개합니다.

재귀 함수를 사용하여 다차원 배열을 1 차원 배열로 변환하십시오

재귀 함수는 기능 내부를 호출하는 함수이며 다층 중첩 구조가있는 배열을 처리하는 데 적합합니다. 다음은 재귀 함수를 사용하여 다차원 배열을 1 차원 어레이로 변환하는 예입니다.

 function flattenArray($array, &$result = array()) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            flattenArray($value, $result);
        } else {
            $result[$key] = $value;
        }
    }
    return $result;
}

// 사용의 예
$multiDimensionalArray = array(
    'a' => 1,
    'b' => array(
        'c' => 2,
        'd' => 3
    ),
    'e' => 4
);
$flattenArray = flattenArray($multiDimensionalArray);
print_r($flattenArray);

위의 코드는 다차원 배열과 빈 결과 배열을 매개 변수로 받아들이는 재귀 함수 FlattenArray를 정의합니다. 입력 배열을 반복하고 서브 어레이가 발생하면 재귀 적으로 스스로를 팽창시킵니다. 기본 데이터 유형 인 경우 결과 배열에 직접 추가됩니다.

참조 할당 방법을 사용합니다

재귀 함수 외에도 PHP는 참조 할당 및 반복자에 의해 다차원 배열을 1 차원 어레이로 변환하는 또 다른 방법을 제공합니다. 반복 기반 예는 다음과 같습니다.

 function flattenArray($array) {
    $result = array();
    $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
    foreach ($iterator as $value) {
        $keys = array();
        foreach (range(0, $iterator->getDepth()) as $depth) {
            $keys[] = $iterator->getSubIterator($depth)->key();
        }
        $result[implode('.', $keys)] = $value;
    }
    return $result;
}

// 사용의 예
$multiDimensionalArray = array(
    'a' => 1,
    'b' => array(
        'c' => 2,
        'd' => 3
    ),
    'e' => 4
);
$flattenArray = flattenArray($multiDimensionalArray);
print_r($flattenArray);

이 예에서는 PHP의 재귀 iteratoritoratoritoriterator재귀 층화기 클래스를 사용하여 다차원 배열을 확장합니다. 이 반복자를 통해 각 요소의 키 경로를 가져 와서 1 차원 배열의 키로 병합 할 수 있습니다.

요약

이 기사는 다차원 배열을 1 차원 어레이로 변환하는 두 가지 일반적인 방법을 소개합니다. 재귀 함수 사용 및 재귀 반복기와 결합 된 참조 할당을 사용합니다. 재귀 기능 방법은 간결하고 이해하기 쉽고 간단한 배열 구조에 적합합니다. 참조 할당 방법은 반복자를 사용하여 더 강한 유연성을 제공하고 복잡한 다층 중첩 어레이를 처리하는 데 적합합니다. 다양한 개발 요구에 따라 올바른 방법을 선택하면 코드의 가독성과 실행 효율성을 효과적으로 향상시킬 수 있습니다.