> 백엔드 개발 > PHP 튜토리얼 > PHP에서 다차원 숫자 키 배열을 효율적으로 평면화하려면 어떻게 해야 합니까?

PHP에서 다차원 숫자 키 배열을 효율적으로 평면화하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-12 21:53:14
원래의
316명이 탐색했습니다.

How Can I Efficiently Flatten a Multidimensional Numeric-Keyed Array in PHP?

다차원 배열을 선형 구조로 단순화

다차원 배열을 1차원 배열로 변환하는 것은 종종 어려운 작업이 될 수 있습니다. 특히 숫자 키만 포함하는 배열. 그러나 PHP의 배열 함수를 활용하여 이러한 구조를 평면화하는 간단하면서도 우아한 솔루션이 있습니다.

답변 설명

이 솔루션은 array_reduce() 함수를 다음과 함께 사용합니다. 배열_병합(). array_reduce()는 배열의 각 요소를 반복하면서 사용자 정의 함수를 적용하여 최종 감소된 값을 누적합니다. 이 경우 두 개의 배열을 단일 배열로 결합하는 array_merge() 함수를 전달합니다.

빈 배열을 축소 작업의 초기 값으로 지정하여 최종 결과가 다차원 배열의 모든 요소를 ​​포함하는 배열입니다. 각 반복은 현재 하위 배열을 누산기와 연결하여 입력을 효과적으로 평면화합니다.

구현 예

질문에 제공된 다차원 배열을 고려하세요.

$array = [
    [0 => 'foo', 1 => 'bar', 2 => 'hello'],
    [0 => 'world', 1 => 'love'],
    [0 => 'stack', 1 => 'overflow', 2 => 'yep', 3 => 'man'],
];
로그인 후 복사

이 배열을 평면화하려면 다음을 사용하면 됩니다. 코드:

$result = array_reduce($array, 'array_merge', []);
로그인 후 복사

이렇게 하면 원하는 1차원 배열이 생성됩니다.

$result = [
    'foo', 'bar', 'hello', 'world', 'love', 'stack', 'overflow', 'yep', 'man'
];
로그인 후 복사

위 내용은 PHP에서 다차원 숫자 키 배열을 효율적으로 평면화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿