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