Restructuration d'un tableau multidimensionnel en PHP
Dans la requête donnée, le but est de transformer un tableau 2D en un tableau 3D où chaque élément représente une machine et contient ses tâches associées classées par ordre croissant en fonction de leur clé d'origine. Voici comment cela peut être réalisé en PHP :
Nous commençons par initialiser un tableau vide appelé $result qui contiendra les données restructurées. Ensuite, nous parcourons le tableau d'origine, $MainArray, à l'aide d'une boucle foreach.
Pour chaque enregistrement dans $MainArray, nous extrayons la valeur Machine_Name et l'utilisons comme clé pour un sous-tableau dans $result. Si une entrée pour cette machine n'existe pas dans $result, elle sera créée avec un tableau vide.
Nous ajoutons ensuite l'enregistrement actuel au sous-tableau associé au Machine_Name. Cela regroupe efficacement toutes les tâches liées à la même machine.
Pour garantir que les tâches sont organisées dans l'ordre souhaité, nous trions chaque sous-tableau par ordre croissant de la clé d'origine à l'aide de la fonction ksort. Le résultat est stocké dans le tableau $result.
Le code ci-dessous démontre ce processus :
$result = []; foreach ($MainArray as $record) { $result[$record['Machine_Name']][] = $record; } foreach ($result as $machine => $jobs) { ksort($result[$machine]); }
Ce code produira un tableau 3D, $result, où la première dimension représente les machines. et la deuxième dimension contient une liste ordonnée de tâches associées à chaque machine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!