PHP에서 다차원 배열 전치
PHP 영역에서 다차원 배열을 사용하여 작업하려면 원하는 데이터 표현을 얻기 위해 조작이 필요한 경우가 많습니다. 그러한 변환 중 하나는 배열을 바꾸는 것입니다. 즉, 행과 열을 효과적으로 뒤집어서 구조화된 차원으로 새로운 배열을 생성하는 것입니다.
PHP에서 다차원 배열을 바꾸는 방법
The PHP에서 다차원 배열을 전치하는 가장 간단한 방법은 array_unshift()와 call_user_func_array()의 조합을 사용하는 것입니다. 이를 수행하는 방법은 다음과 같습니다.
function transpose($array) { array_unshift($array, null); return call_user_func_array('array_map', $array); }
이 함수는 배열 키의 자리 표시자 역할을 하는 null 요소를 배열 시작 부분에 추가하여 작동합니다. 그런 다음 call_user_func_array()는 array_map을 사용하여 단순히 원래 배열의 요소를 반환하는 함수를 매핑하여 새 배열을 만듭니다. 결과는 전치된 배열입니다.
더 일반화된 솔루션
다차원 배열과 관련된 더 복잡한 시나리오의 경우 더 일반화된 솔루션이 필요합니다. 목표는 다음 방정식이 참이 되도록 차원 수에 관계없이 배열을 전치하는 함수를 만드는 것입니다.
$foo[j][k][...][x][y][z] = $bar[z][k][...][x][y][j]
다음은 이를 달성할 수 있는 재귀 함수의 예입니다.
function transposeRecursive($array) { if (!is_array($array)) { return $array; } return array_map(function($item) { return transposeRecursive($item); }, $array[0]) + transposeRecursive(array_slice($array, 1)); }
이 함수는 배열을 반복적으로 처리하여 가장 안쪽 배열에 도달할 때까지 차원을 재귀적으로 바꿉니다. 전치와 배열 슬라이싱을 결합하면 배열을 효과적으로 재구성하여 앞서 언급한 방정식이 성립하도록 보장합니다.
위 내용은 PHP에서 다차원 배열을 효율적으로 전치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!