>  기사  >  백엔드 개발  >  PHP에서 열 값별로 연관 배열 행을 그룹화하는 방법은 무엇입니까?

PHP에서 열 값별로 연관 배열 행을 그룹화하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 06:16:03502검색

How to Group Associative Array Rows by Column Value in PHP?

열 값으로 연관 배열 행 그룹화

프로그래밍에서 연관 배열에 저장된 데이터를 재구성해야 하는 상황이 발생할 수 있습니다. 일반적인 작업 중 하나는 원래의 첫 번째 수준 키를 유지하면서 특정 열 값으로 배열의 행을 그룹화하는 것입니다.

$old_arr로 알려진 다음 연관 배열의 연관 배열을 고려하세요.

[
    'a' => ['id' => 20, 'name' => 'chimpanzee'],
    'b' => ['id' => 40, 'name' => 'meeting'],
    'c' => ['id' => 20, 'name' => 'dynasty'],
    'd' => ['id' => 50, 'name' => 'chocolate'],
    'e' => ['id' => 10, 'name' => 'bananas'],
    'f' => ['id' => 50, 'name' => 'fantasy'],
    'g' => ['id' => 50, 'name' => 'football']
]

목표는 id 필드를 기준으로 행이 그룹화되는 새 배열 $arr을 만드는 것입니다. 결과 배열은 다음과 같습니다.

array
(
    10 => array
          (
            e => array ( id = 10, name = bananas )
          )
    20 => array
          (
            a => array ( id = 20, name = chimpanzee )
            c => array ( id = 20, name = dynasty )
          )
    40 => array
          (
            b => array ( id = 40, name = meeting )
          )
    50 => array
          (
            d => array ( id = 50, name = chocolate )
            f => array ( id = 50, name = fantasy )
            g => array ( id = 50, name = football )
          )
)

이를 달성하려면 다음 단계를 따르세요.

  1. 빈 배열 $arr를 초기화합니다.
  2. 반복 $old_arr의 각 행에 대해
  3. id 값을 $arr의 키로 사용합니다. 키가 없으면 새 배열을 만듭니다.
  4. 현재 행을 $arr의 해당 키에 할당합니다.
  5. $arr 배열을 SORT_NUMERIC으로 정렬하여 키가 있는지 확인합니다. 숫자 순서입니다.

제공된 PHP 코드는 다음 접근 방식을 따라 원하는 결과를 생성합니다.

$arr = array();

foreach ($old_arr as $key => $item) {
   $arr[$item['id']][$key] = $item;
}

ksort($arr, SORT_NUMERIC);

위 내용은 PHP에서 열 값별로 연관 배열 행을 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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