Maison > développement back-end > tutoriel php > Comment transformer un tableau PHP 2D en un tableau 3D basé sur la valeur d'une clé ?

Comment transformer un tableau PHP 2D en un tableau 3D basé sur la valeur d'une clé ?

Linda Hamilton
Libérer: 2024-12-18 00:43:10
original
897 Les gens l'ont consulté

How to Transform a 2D PHP Array into a 3D Array Based on a Key's Value?

Créer un tableau multidimensionnel à partir d'un tableau existant en PHP

En PHP, il est possible de créer un nouveau tableau multidimensionnel basé sur un tableau existant . Voici comment réaliser la transformation spécifique que vous avez décrite dans votre question :

Convertissez le tableau 2D suivant :

$MainArray = array(
    [
        '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
    ],
    [
        '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
    ],
    [
        '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

En le tableau 3D suivant :

$ConvertedArray = array(
    'Machine1' => array(
        [
            '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' => array(
        [
            '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
        ]
    )
);
Copier après la connexion

Solution :

Utilisez le PHP suivant code :

$result = [];
foreach($MainArray as $record){
 $result[$record['Machine_Name']][] = $record;
}
Copier après la connexion

Le code parcourt le $MainArray et pour chaque enregistrement, l'ajoute au tableau $result, en utilisant la valeur de la clé 'Machine_Name' comme index. Cela aboutit à la création du tableau 3D souhaité.

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!

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