Maison > développement back-end > tutoriel php > Comment regrouper un tableau PHP 2D en un tableau 3D par nom de machine ?

Comment regrouper un tableau PHP 2D en un tableau 3D par nom de machine ?

DDD
Libérer: 2024-12-09 20:31:14
original
362 Les gens l'ont consulté

How to Group a 2D PHP Array into a 3D Array by Machine Name?

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
Copier après la connexion

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

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

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

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal