PHP 프로그래밍에서는 배열을 자주 사용하며, 배열에 대한 연산도 많습니다. 가장 흥미로운 작업 중 하나는 2차원 배열의 키 전치입니다.
소위 2차원 배열은 배열의 각 요소가 배열이라는 의미입니다. 키 이름 전치는 2차원 배열의 각 요소에 대한 키 이름을 배열 첨자로 변경하는 동시에 2차원 배열의 각 요소에 해당하는 배열을 전치하는 것을 의미합니다.
이 글에서는 PHP를 사용하여 2차원 배열에 대한 키 이름 전치 연산을 구현하는 방법을 설명합니다.
1. 2차원 배열 만들기
설명을 시작하기 전에 먼저 2차원 배열을 만들어야 합니다. 다음 코드를 사용할 수 있습니다.
$originArr = array( 'fruit1' => array('name' => 'apple', 'color' => 'red'), 'fruit2' => array('name' => 'banana', 'color' => 'yellow'), 'fruit3' => array('name' => 'orange', 'color' => 'orange') );
이 2차원 배열에서 각 요소는 과일의 이름과 색상을 포함하는 연관 배열입니다. 이제 키 이름을 바꿔야 합니다.
2. array_column 함수를 사용하여 2차원 배열을 전치하세요.
PHP에서는 다차원 배열에서 특정 열을 추출하는 데 사용할 수 있는 array_column이라는 함수를 제공합니다. 이 글에서는 이 함수를 사용하여 키 이름 전치를 구현해 보겠습니다.
먼저 2차원 배열에 있는 모든 키 이름을 추출하여 1차원 배열로 변환해야 합니다. 모든 키 이름을 추출하려면 array_keys 함수를 사용하고, 모든 값을 추출하려면 array_values 함수를 사용하세요. array_keys 함수가 반환한 배열을 array_column 함수의 두 번째 매개변수로 전달하기만 하면 됩니다.
코드는 다음과 같이 구현됩니다.
$keys = array_keys($originArr); $newArr = array_column($originArr, null, $keys);
이 단계에서는 2차원 배열에 있는 각 요소의 키 이름을 새 배열의 첨자로 사용합니다. 원래 배열의 각 요소에 해당하는 배열이 새 배열의 값이 됩니다.
3. 하위 배열의 키 이름을 바꿉니다
현재 새 배열에서는 키 이름이 바뀐 경우에도 새 배열의 각 값도 배열이고 각 배열의 키 이름은 배열이 아닙니다. 아래첨자가 필요합니다. 따라서 새 배열의 각 하위 배열의 키 이름도 바꿔야 합니다.
array_map 함수를 사용하면 newArr 배열의 각 하위 배열에 콜백 함수를 적용하여 키 이름을 바꿀 수 있습니다. 코드는 다음과 같이 구현됩니다.
$newArr = array_map(function($arr){ return array_combine(array_keys($arr), $arr); }, $newArr);
여기에서는 먼저 array_keys 함수를 사용하여 배열의 현재 키 이름을 추출한 다음 추출된 키 이름과 현재 값을 결합하여 array_combine 함수를 통해 새로운 연관 배열을 형성합니다. 이러한 방식으로 새 배열의 각 하위 배열의 키 이름을 성공적으로 바 꾸었습니다.
4. 전체 코드 구현
위 단계를 통해 주어진 2차원 배열에 대해 키 이름 전치 연산을 구현할 수 있습니다. 다음은 전체 코드 구현입니다.
$originArr = array( 'fruit1' => array('name' => 'apple', 'color' => 'red'), 'fruit2' => array('name' => 'banana', 'color' => 'yellow'), 'fruit3' => array('name' => 'orange', 'color' => 'orange') ); $keys = array_keys($originArr); $newArr = array_column($originArr, null, $keys); $newArr = array_map(function($arr){ return array_combine(array_keys($arr), $arr); }, $newArr); print_r($newArr);
출력 결과는 다음과 같습니다.
Array ( [name] => Array ( [fruit1] => apple [fruit2] => banana [fruit3] => orange ) [color] => Array ( [fruit1] => red [fruit2] => yellow [fruit3] => orange ) )
보시다시피 2차원 배열의 각 요소의 키 이름을 새 배열의 첨자로 성공적으로 바꾸었습니다. 동시에 하위 배열에서 각 키 이름도 새 인덱스로 바뀐다.
요약
이 글에서는 PHP의 2차원 배열에 대한 키 이름 전치 연산에 대해 이야기하고, array_column 및 array_map 함수를 사용하여 이 연산을 구현하는 방법을 소개했습니다. 다차원 배열을 작업해야 하는 경우 이 작업을 통해 코드 양을 절약하고 개발 효율성을 높일 수 있습니다.
위 내용은 PHP에서 키 이름의 2차원 배열을 전치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!