Maison  >  Article  >  développement back-end  >  Comment convertir un objet tableau php en objet tableau

Comment convertir un objet tableau php en objet tableau

PHPz
PHPzoriginal
2023-04-27 09:06:40448parcourir

En PHP, nous devons parfois convertir un objet tableau en un autre objet tableau. Ce processus n'est pas difficile et peut être réalisé avec seulement quelques lignes de code simple.

Les principales étapes pour convertir un objet tableau en objet tableau sont les suivantes :

  1. Définir les données source

Supposons que nous ayons un objet tableau source qui contient plusieurs éléments d'objet, chaque élément a plusieurs attributs. Nous devons convertir ces éléments d'objet en un autre objet tableau, et chaque élément ne doit contenir que certaines propriétés.

Le code est le suivant :

$sourceArray = array(
    (object) array('id' => 1, 'name' => 'John', 'age' => 25),
    (object) array('id' => 2, 'name' => 'Amy', 'age' => 35),
    (object) array('id' => 3, 'name' => 'Bob', 'age' => 28),
    (object) array('id' => 4, 'name' => 'Cathy', 'age' => 30)
);
  1. Définissez la structure des données cible

Nous devons définir la structure des données de l'objet tableau cible, c'est-à-dire les attributs que contient chaque élément. Si chaque élément du tableau cible contient tous les attributs du tableau source, alors le tableau cible peut être directement égal au tableau source sans aucune conversion.

$targetStructure = array(
    'id' => '',
    'name' => '',
);
  1. Implémentation de la conversion

Maintenant que nous avons la structure de données du tableau source et du tableau cible, l'étape suivante consiste à gérer le processus de conversion. Nous pouvons utiliser une boucle foreach pour parcourir chaque élément du tableau source et copier les attributs correspondants du tableau source vers le tableau cible en fonction de la structure de données du tableau cible.

$targetArray = array();

foreach ($sourceArray as $sourceObject) {
    $targetObject = array();

    foreach ($targetStructure as $key => $value) {
        $targetObject[$key] = $sourceObject->$key;
    }

    $targetArray[] = (object) $targetObject;
}

Dans le code ci-dessus, nous définissons d'abord un tableau vide $targetArray pour enregistrer les données converties. Ensuite, nous avons effectué une boucle foreach sur le tableau source, en parcourant chaque élément $sourceObject. Dans la boucle interne, le $targetStructure du tableau cible est bouclé pour générer la clé et la valeur correspondantes. Enfin, nous convertissons chaque élément cible en un nouvel objet et l'ajoutons à $targetArray. $targetArray,用于保存转换后的数据。接着我们对源数组进行了 foreach 循环,遍历了每个元素 $sourceObject。在内层循环中,则是对目标数组的 $targetStructure 进行了循环,生成对应的 keyvalue 。最后,我们将每个目标元素转换成一个新的对象,并将其添加到 $targetArray 中。

  1. 输出结果

最后,我们可以输出经过转换后的目标数组,检查转换是否成功。我们可以使用 print_r() 函数输出数组,也可以使用 json_encode()

    Résultats de sortie

    Enfin, nous pouvons sortir le tableau cible converti pour vérifier si la conversion est réussie. Nous pouvons utiliser la fonction print_r() pour générer un tableau, ou nous pouvons utiliser la fonction json_encode() pour convertir le tableau au format JSON afin de faciliter la visualisation des résultats de sortie. .

    echo json_encode($targetArray);
    🎜De cette façon, nous avons terminé toutes les étapes de la conversion des objets tableau. Le code complet est le suivant : 🎜
    $sourceArray = array(
        (object) array('id' => 1, 'name' => 'John', 'age' => 25),
        (object) array('id' => 2, 'name' => 'Amy', 'age' => 35),
        (object) array('id' => 3, 'name' => 'Bob', 'age' => 28),
        (object) array('id' => 4, 'name' => 'Cathy', 'age' => 30)
    );
    
    $targetStructure = array(
        'id' => '',
        'name' => '',
    );
    
    $targetArray = array();
    
    foreach ($sourceArray as $sourceObject) {
        $targetObject = array();
    
        foreach ($targetStructure as $key => $value) {
            $targetObject[$key] = $sourceObject->$key;
        }
    
        $targetArray[] = (object) $targetObject;
    }
    
    echo json_encode($targetArray);
    🎜Dans le développement réel, nous devrons peut-être effectuer davantage de traitement et de filtrage des données, mais l'idée générale est fondamentalement la même que celle de l'exemple de code ci-dessus. Si nous rencontrons le besoin de conversion de données, nous pouvons modifier le code en fonction de la situation réelle et terminer le traitement des données correspondant. 🎜

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:
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