점 표기법 키를 사용하여 다차원 PHP 배열을 2D 배열로 변환하는 방법은 무엇입니까?
점 표기 키를 사용하여 다차원 PHP 배열을 2D 배열로 변환
점 표기 키를 사용하여 다차원 PHP 배열을 2D 배열로 평면화하면 다음과 같은 경우에 유용할 수 있습니다. 다양한 시나리오. 점 표기법을 사용하여 중첩 배열 값에 원활하게 액세스할 수 있어 코드 가독성과 유지 관리성이 향상됩니다.
중첩 배열을 변환하는 재귀 함수
다행히도 PHP는 재귀 함수를 제공합니다. 이 변환을 우아하게 수행할 수 있는 함수:
<code class="php">$result = array(); $ritit = new RecursiveIteratorIterator(new RecursiveArrayIterator($myArray)); foreach ($ritit as $leafValue) { $keys = array(); foreach (range(0, $ritit->getDepth()) as $depth) { $keys[] = $ritit->getSubIterator($depth)->key(); } $result[join('.', $keys)] = $leafValue; }</code>
로그인 후 복사
설명:
- RecursiveIteratorIterator 및 RecursiveArrayIterator 클래스는 중첩된 배열을 재귀적으로 반복하는 데 사용됩니다.
- 각 반복 중에 RecursiveArrayIterator의 키 메소드는 배열의 현재 키를 캡처하는 데 사용됩니다.
- getSubIterator($length) 메소드는 특정 위치에서 하위 반복자를 검색하는 데 사용됩니다. 깊이를 사용하여 중첩된 배열을 반복할 수 있습니다.
- range(0, $ritit->getDepth()) 함수는 가장 안쪽 배열에서 가장 바깥쪽 배열로 이동하는 깊이 배열을 생성합니다.
- join('.', $keys) 함수는 점(.)을 구분 기호로 사용하여 배열 키를 연결하여 점 표기법 키를 생성합니다.
- 결과 키-값 쌍은 $result 배열.
출력:
이 함수는 점 표기법 키를 사용하여 원하는 2D 배열을 생성합니다.
<code class="php">$newArray = array( 'key1' => 'value1', 'key2.subkey' => 'subkeyval', 'key3' => 'value3', 'key4.subkey4.subsubkey4' => 'subsubkeyval4', 'key4.subkey4.subsubkey5' => 'subsubkeyval5', 'key4.subkey5' => 'subkeyval5' );</code>
로그인 후 복사
위 내용은 점 표기법 키를 사용하여 다차원 PHP 배열을 2D 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 파일 저장 위치 : 어디에 있고 그것을 보호하는 방법은 무엇입니까?
3 몇 주 전
By DDD

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7315
9


자바 튜토리얼
1625
14


Cakephp 튜토리얼
1348
46


라라벨 튜토리얼
1261
25


PHP 튜토리얼
1208
29



Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
