특정 열의 값을 기준으로 그룹화하려는 다차원 배열이 있습니다.
level
를 기준으로 그룹화하고 싶은데, level 값을 미리 모릅니다. 따라서 for
루프에서처럼 while $i < 7
라고 말할 수 없습니다. 왜냐하면 7
;는 최대값의 레벨 키이며, 알고 있다고 해도 그렇게 해야 할지 모르겠습니다.
[ ['고객' => 'XT8900', '유형' => '표준', '수준' => ['고객' => 'XT8944', '유형' => '표준', '수준' => ['고객' => 'XT8922', '유형' => '프리미어', '레벨' => ['cust' => 'XT8816', '유형' => '퍼미어', '레벨' => ['고객' => 'XT7434', '유형' => '표준', '수준' => ]
원하는 결과:
배열( [1] => [0] => [고객] => [유형] => ) [1] => [고객] => [유형] => ) ) [3] => [2] => [고객] => [유형] => ) [3] => [고객] => [유형] => 퍼미어 ) ) [7] => [4] => [고객] => [유형] => ) ) )
가장 좋은 접근 방식은 초기 배열 구축을 제어할 수 있는 경우 항목을 추가할 때 처음에 설정하는 것입니다.
컨트롤이 없으면 정렬을 위한 임시 배열을 만듭니다.
으아아아이렇게 하면 모든 참고자료를 함께 모아 원하는 형태를 얻을 수 있습니다.
가능하다면 처음에는 이렇게 어레이를 구축하세요.
먼저레벨
별로 그룹화해야 합니다.foreach를 사용하여 배열을 반복하고, 레벨이 이전 항목과 동일한지 확인한 다음 해당 배열로 그룹화합니다.
으아아아print($grouparr);의 출력은 원하는 형식으로 표시됩니다
시도해 볼 수도 있습니다
으아아아보여드립니다
으아아아또는
으아아아보여드립니다
으아아아