Kumpulan data tatasusunan 2D menggunakan nilai lajur untuk menjana tatasusunan 3D
P粉022140576
2023-08-22 18:37:00
<p>Saya mempunyai tatasusunan berbilang dimensi yang saya ingin kumpulkan berdasarkan nilai dalam lajur tertentu. </p>
<p>Saya mahu mengumpulkan berdasarkan <kod>peringkat</kod>, tetapi saya tidak tahu nilai tahap terlebih dahulu. Jadi, saya tidak boleh menyebut <kod>sementara $i </kod> seperti dalam gelung <kod>untuk</kod> ; ialah kunci tahap nilai maksimum, dan walaupun saya tahu saya tidak pasti saya perlu melakukannya. </p>
<pre class="brush:php;toolbar:false;">[
['cust' => 'XT8900', 'type' => 'standard', 'level' =>
['cust' => 'XT8944', 'type' => 'standard', 'level' =>
['cust' => 'XT8922', 'type' => 'premier', 'level' =>
['cust' => 'XT8816', 'type' => 'permier', 'level' =>
['cust' => 'XT7434', 'type' => 'standard', 'level' =>
]</pre>
<p>Hasil yang diingini: </p>
<pre class="brush:php;toolbar:false;">Array (
[1] =>
[0] =>
[cust] =>
[jenis] =>
)
[1] =>
[cust] =>
[jenis] =>
)
)
[3] =>
[2] =>
[cust] =>
[jenis] =>
)
[3] =>
[cust] =>
[jenis] => permier
)
)
[7] =>
[4] =>
[cust] =>
[jenis] =>
)
)
)</pra>
<p><br /></p>
Pendekatan terbaik adalah jika anda mempunyai kawalan ke atas membina tatasusunan awal kemudian sediakannya pada permulaan apabila menambah entri.
Jika tiada kawalan, bina tatasusunan sementara untuk pengisihan:
Dengan cara ini anda mendapat borang yang anda inginkan dengan semua rujukan bersama-sama.
Jika boleh, bina tatasusunan seperti ini pada mulanya.
Pertama, anda perlu mengumpulkan mereka mengikut peringkat
Gunakan foreach untuk mengulung tatasusunan, semak sama ada tahapnya sama dengan item sebelumnya, kemudian kumpulkannya dengan tatasusunan itu
Output
print($grouparr); akan dipaparkan dalam format yang anda mahukan
Anda juga boleh mencuba
akan tunjukkan
atau
akan tunjukkan