Gruppieren Sie 2D-Array-Daten mithilfe von Spaltenwerten, um ein 3D-Array zu generieren
P粉022140576
2023-08-22 18:37:00
<p>Ich habe ein mehrdimensionales Array, das ich basierend auf den Werten in einer bestimmten Spalte gruppieren möchte. </p>
<p>Ich möchte basierend auf <code>level</code> gruppieren, kenne aber den Wert von level nicht im Voraus. Daher kann ich <code>while $i </code> nicht wie in der <code>for</code>-Schleife sagen ; ist der Ebenenschlüssel des Maximalwerts, und selbst wenn ich es wüsste, wäre ich mir nicht sicher, ob ich das tun müsste. </p>
<pre class="brush:php;toolbar:false;">[
['cust' => 'XT8900', 'type' =>
['cust' => 'XT8944', 'type' =>
['cust' => 'XT8922', 'type' =>
['cust' => 'XT8816', 'type' =>
['cust' => 'XT7434', 'type' =>
]</pre>
<p>Gewünschtes Ergebnis: </p>
<pre class="brush:php;toolbar:false;">Array (
[1] => Array (
[0] => Array (
[cust] =>
[Typ] => Standard
)
[1] => Array (
[cust] =>
[Typ] => Standard
)
)
[3] => Array (
[2] => Array (
[cust] =>
[Typ] =>
)
[3] => Array (
[cust] =>
[Typ] => permier
)
)
[7] => Array (
[4] => Array (
[cust] =>
[Typ] => Standard
)
)
)</pre>
<p><br /></p>
最好的方法是,如果您对构建初始数组有控制权,那么在添加条目时,只需一开始就设置好。
如果没有控制权,则构建一个临时数组进行排序:
这样可以得到您想要的形式,并且所有引用都在一起。
如果可能的话,一开始就像这样构建数组。
首先,你需要按照级别对它们进行分组
使用foreach循环遍历数组,检查级别是否与前一个项目相同,然后将其与该数组分组
print($grouparr);的输出将以你希望的格式显示
你也可以尝试
将显示
或者
将显示