Regroupez les données du tableau 2D à l'aide des valeurs de colonne pour générer un tableau 3D
P粉022140576
2023-08-22 18:37:00
<p>J'ai un tableau multidimensionnel que je souhaite regrouper en fonction des valeurs d'une colonne spécifique. </p>
<p>Je souhaite effectuer un regroupement en fonction du <code>level</code>, mais je ne connais pas la valeur du niveau à l'avance. Donc, je ne peux pas dire <code>while $i < 7</code> comme dans la boucle <code>for</code> ; est la clé de niveau de la valeur maximale, et même si je le savais, je ne suis pas sûr d'avoir besoin de le faire. </p>
<pre class="brush:php;toolbar:false;">[
['cust' => 'XT8900', 'type' =>
['cust' => 'XT8944', 'type' =>
['cust' => 'XT8922', 'type' =>
['cust' => 'XT8816', 'type' =>
['cust' => 'XT7434', 'type' =>
]≪/pré>
<p>Résultat souhaité : </p>
<pre class="brush:php;toolbar:false;">Array (
[1] =>
[0] =>
[client] => XT8900
[type] =>
)
[1] =>
[client] =>
[type] =>
)
)
[3] =>
[2] =>
[client] =>
[type] =>
)
[3] =>
[client] =>
[type] => permis
)
)
[7] =>
[4] =>
[client] =>
[type] =>
)
)
)</pré>
<p><br /></p>
La meilleure approche est que si vous contrôlez la création du tableau initial, configurez-le simplement au début lors de l'ajout d'entrées.
S'il n'y a pas de contrôle, créez un tableau temporaire pour le tri :
De cette façon, vous obtenez le formulaire que vous souhaitez avec toutes les références réunies.
Si possible, construisez le tableau comme ceci au départ.
Tout d'abord, vous devez les regrouper par niveau
Utilisez foreach pour parcourir le tableau, vérifiez si le niveau est le même que l'élément précédent, puis regroupez-le avec ce tableau
La sortie de
print($grouparr); sera affichée dans le format souhaité
Vous pouvez aussi essayer
montre
ou
montre