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 :
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) );
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' => '', );
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
进行了循环,生成对应的 key
和 value
。最后,我们将每个目标元素转换成一个新的对象,并将其添加到 $targetArray
中。
最后,我们可以输出经过转换后的目标数组,检查转换是否成功。我们可以使用 print_r()
函数输出数组,也可以使用 json_encode()
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);
$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);
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!