>백엔드 개발 >PHP 튜토리얼 >재귀나 참조 없이 PHP에서 다차원 배열을 어떻게 평면화할 수 있습니까?

재귀나 참조 없이 PHP에서 다차원 배열을 어떻게 평면화할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-27 09:17:11461검색

How Can I Flatten Multidimensional Arrays in PHP Without Recursion or References?

다차원 배열 평면화: PHP 접근 방식

다차원 배열의 복잡성을 해결하는 것은 프로그래밍에 어려움을 초래할 수 있습니다. 일반적인 작업 중 하나는 이러한 복잡한 구조를 1차원 배열로 평면화하여 값은 유지하지만 키는 폐기하는 것입니다. 이 기사에서는 재귀 및 참조를 방지하는 기준을 준수하면서 이 문제에 대한 PHP 솔루션을 살펴보겠습니다.

가장 간단한 접근 방식은 배열을 순회하고 해당 값을 추출하는 것입니다. PHP는 이 작업을 위해 array_walk_recursive()라는 우아한 함수를 제공합니다. PHP 5.3에 도입된 이 기능은 데이터 조작 논리를 캡슐화하는 강력한 클로저 구문을 사용합니다.

function flatten(array $array) {
    $return = array();
    array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
    return $return;
}

array_walk_recursive() 함수 내에서 개별 배열 요소($a)를 입력으로 받아들이는 클로저가 정의됩니다. $return 변수를 참조로 수정할 수 있도록 사용(&$return) 문이 사용됩니다. 클로저 내부에서 각 요소의 값은 $return 배열에 추가됩니다.

이 간결한 솔루션은 원하는 제약 조건을 준수하면서 다차원 배열을 효과적으로 평면화합니다. 이는 PHP의 array_walk_recursive() 및 클로저 기능을 활용하여 이 프로그래밍 작업에 대한 간단하고 효율적인 접근 방식을 제공합니다.

위 내용은 재귀나 참조 없이 PHP에서 다차원 배열을 어떻게 평면화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.