Maison > développement back-end > tutoriel php > Comment puis-je transformer un tableau PHP 2D en un tableau 3D basé sur les valeurs d'une colonne ?

Comment puis-je transformer un tableau PHP 2D en un tableau 3D basé sur les valeurs d'une colonne ?

Patricia Arquette
Libérer: 2024-12-10 07:36:09
original
278 Les gens l'ont consulté

How Can I Transform a 2D PHP Array into a 3D Array Based on a Column's Values?

Création d'un nouveau tableau à partir d'un tableau existant en PHP

Un utilisateur a rencontré un défi en essayant de transformer un tableau à 2 dimensions ($MainArray) en un tableau à 3 dimensions tableau dimensionnel ($ConvertedArray). L'utilisateur souhaitait regrouper les tâches en fonction de leurs noms de machine et conserver leurs clés d'origine.

Solution

La solution à ce défi réside dans l'utilisation d'une fonction PHP appelée array_column. Cette fonction vous permet d'extraire des colonnes spécifiques d'un tableau multidimensionnel. Voici comment l'utiliser dans ce cas :

$machineNames = array_column($MainArray, 'Machine_Name');
$uniqueMachines = array_unique($machineNames);

$ConvertedArray = [];
foreach ($uniqueMachines as $machineName) {
    $ConvertedArray[$machineName] = array_filter($MainArray, function ($job) use ($machineName) {
        return $job['Machine_Name'] === $machineName;
    });
}
Copier après la connexion

Ce code accomplit la transformation souhaitée en itérant sur les noms de machine uniques et en regroupant les tâches en conséquence dans le $ConvertedArray. Le résultat est un nouveau tableau avec des noms de machines comme clés et des tableaux de tâches associées comme valeurs.

Implémentation

Le code fourni peut être facilement implémenté dans votre script PHP pour obtenir le résultat souhaité. Les tableaux d'origine et convertis peuvent être imprimés pour vérification :

echo '<pre class="brush:php;toolbar:false">';
print_r($MainArray);
echo '
'; echo '
';
print_r($ConvertedArray);
echo '
';
Copier après la connexion

Cela affichera à la fois le tableau à 2 dimensions d'origine et le tableau à 3 dimensions nouvellement créé.

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