Comment convertir un tableau 2D en tableau 3D en PHP
Vous disposez d'un tableau 2D existant qui contient des informations de tâche pour différentes machines. La tâche consiste à convertir ce tableau en un tableau 3D, regroupé par nom de machine.
La sortie souhaitée est un tableau 3D où les clés sont des noms de machine et chaque nom de machine contient un tableau d'enregistrements de tâches. Les enregistrements de tâches comprennent les champs suivants :
Job_Name Quantity Start_Date Completion_Date Labor
Solution de code PHP :
Pour convertir le tableau 2D en tableau 3D, vous pouvez utiliser le code PHP suivant :
$result = []; foreach ($MainArray as $record) { $result[$record['Machine_Name']][] = $record; }
Explication :
La boucle foreach parcourt chaque enregistrement du $MainArray. Pour chaque enregistrement, il vérifie le champ Machine_Name et ajoute l'enregistrement au tableau de machines correspondant dans le tableau $result.
Si le nom de la machine n'existe pas en tant que clé dans le tableau $result, il est créé et l'enregistrement est ajouté au tableau sous cette clé.
Exemple :
Étant donné ce qui suit $MainArray :
[0] => [ 'Job_Name' => 'WXYZ', 'Quantity' => 1000, 'Machine_Name' => 'Machine1', 'Start_Date' => '2014-07-30 00:00:00', 'Completion_Date' => '2014-08-02 00:00:00', 'Labor' => 4 ] [1] => [ 'Job_Name' => 'ABCD', 'Quantity' => 1500, 'Machine_Name' => 'Machine2', 'Start_Date' => '2014-08-08 00:00:00', 'Completion_Date' => '2014-08-14 00:00:00', 'Labor' => 2 ] [2] => [ 'Job_Name' => 'BCDA', 'Quantity' => 1200, 'Machine_Name' => 'Machine1', 'Start_Date' => '2014-08-02 00:00:00', 'Completion_Date' => '2014-08-07 00:00:00', 'Labor' => 1 ]
La sortie du tableau $result serait :
[Machine1] => [ [ 'Job_Name' => 'WXYZ', 'Quantity' => 1000, 'Start_Date' => '2014-07-30 00:00:00', 'Completion_Date' => '2014-08-02 00:00:00', 'Labor' => 4 ], [ 'Job_Name' => 'BCDA', 'Quantity' => 1200, 'Start_Date' => '2014-08-02 00:00:00', 'Completion_Date' => '2014-08-07 00:00:00', 'Labor' => 1 ] ] [Machine2] => [ [ 'Job_Name' => 'ABCD', 'Quantity' => 1500, 'Start_Date' => '2014-08-08 00:00:00', 'Completion_Date' => '2014-08-14 00:00:00', 'Labor' => 2 ] ]
Ce nouveau tableau 3D peut être utilisé pour accéder aux enregistrements de tâches regroupés par nom de 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!