>백엔드 개발 >PHP 튜토리얼 >PHP에서 중첩 배열을 어떻게 평면화할 수 있나요?

PHP에서 중첩 배열을 어떻게 평면화할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-11-23 08:31:18555검색

How Can I Flatten a Nested Array in PHP?

중첩 배열을 단일 차원으로 변환

이 프로그래밍 시나리오에서는 단일 요소 하위 배열로 구성된 배열을 접하게 됩니다. 당면 과제는 이 다차원 구조를 1차원 배열로 변환하는 것입니다.

PHP의 기본 접근 방식

PHP는 이 변환을 처리할 수 있는 array_map이라는 편리한 함수를 제공합니다. 효율적으로. 예는 다음과 같습니다.

$array = [[88868], [88867], [88869], [88870]];
$oneDimensionalArray = array_map('current', $array);

// Output: [88868, 88867, 88869, 88870]

array_map 함수는 콜백 함수를 첫 번째 인수로, 배열을 두 번째 인수로 사용합니다. 이 경우 콜백 함수 current는 각 하위 배열에서 현재 요소를 검색하여 배열을 효과적으로 평면화합니다.

다중 요소 하위 배열의 일반화

하위 배열에 여러 개의 요소가 포함된 경우 요소가 있는 경우 위의 접근 방식은 각 하위 배열의 첫 번째 요소만 반환합니다. 이 시나리오를 해결하려면 call_user_func_array 함수를 활용하면 됩니다.

$oneDimensionalArray = call_user_func_array('array_merge', $array);

// Output: [88868, 88867, 88869, 88870]

call_user_func_array 함수는 인수 배열(이 경우 하위 배열 배열)을 사용하여 콜백 함수를 호출합니다. array_merge 함수는 모든 요소를 ​​단일 배열로 결합하여 원하는 변환을 수행합니다.

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

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