Maison > développement back-end > tutoriel php > Comment puis-je restructurer un tableau PHP 2D en un tableau 3D par machine et tâches ordonnées ?

Comment puis-je restructurer un tableau PHP 2D en un tableau 3D par machine et tâches ordonnées ?

Susan Sarandon
Libérer: 2024-12-12 17:14:11
original
967 Les gens l'ont consulté

How Can I Restructure a 2D PHP Array into a 3D Array by Machine and Ordered Jobs?

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]);
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal