Maison >développement back-end >Problème PHP >Objet de retour PHP converti en tableau
En programmation PHP, nous avons souvent besoin de convertir un objet en tableau. Cette exigence est généralement due au fait que lorsque nous écrivons des applications Web, les données obtenues à partir de la base de données ou d'autres sources de données sont généralement renvoyées sous forme d'objets. Afin de gérer ces données et de les présenter d'une manière facile à lire et à traiter, nous devons convertir ces objets en tableaux.
PHP est connu pour sa flexibilité et sa facilité d'utilisation, donc la conversion d'objets en tableaux est également très simple. En PHP, nous pouvons utiliser certaines fonctions intégrées pour accomplir cette tâche, et nous pouvons également utiliser des bibliothèques tierces pour améliorer la personnalisation et les fonctionnalités de la conversion.
Dans cet article, nous explorerons plusieurs façons de convertir les objets renvoyés par PHP en tableaux. Dans ces méthodes, nous utiliserons la syntaxe PHP 7. Cependant, vous pouvez facilement adapter la syntaxe de ces exemples de codes aux versions antérieures de PHP.
Tout d'abord, présentons la manière la plus simple : utiliser le casting de type. Cette méthode est le moyen le plus simple de convertir un objet en tableau, et c'est également le moyen le plus courant de l'utiliser.
Lors de l'utilisation du transtypage, il suffit d'entourer l'objet d'un mot-clé array. Par exemple :
<?php // a sample object $obj = (object) ['foo' => 'bar', 'property' => 1]; // using type casting to convert object to array $array = (array) $obj; // displaying the array print_r($array); ?>
Le résultat est le suivant :
Array ( [foo] => bar [property] => 1 )
Comme vous pouvez le voir, nous pouvons utiliser le transtypage pour convertir l'objet $obj en tableau $array. Une fois la conversion terminée, nous pouvons utiliser la fonction print_r() pour afficher le contenu du tableau.
Deuxièmement, utilisons un raccourci intégré à PHP - la fonction get_object_vars(). Cette fonction renvoie un tableau associatif composé d'attributs d'objet nommés comme clés et de valeurs d'attribut comme valeurs.
Lors de l'utilisation de cette méthode, il suffit d'opérer sur l'objet via la fonction get_object_vars() et de stocker ses résultats dans un tableau. Par exemple :
<?php // a sample object $obj = (object) ['foo' => 'bar', 'property' => 1]; // using get_object_vars() function to convert object to array $array = get_object_vars($obj); // displaying the array print_r($array); ?>
Le résultat est :
Array ( [foo] => bar [property] => 1 )
Comme vous pouvez le voir, nous passons l'objet $obj à la fonction get_object_vars() et stockons son résultat dans le tableau $array. Dans cet exemple, la fonction renvoie le même résultat que celui utilisé dans l'exemple de conversion de type.
Troisièmement, si l'objet est plus complexe ou si nous voulons fusionner plusieurs objets dans un tableau, nous pouvons alors utiliser Serialize() et unserialize() fonctions pour y parvenir facilement. La fonction de sérialisation serialize() peut sérialiser un objet en chaîne, et la fonction unserialize() peut désérialiser la chaîne en objet.
Lorsque nous utilisons cette approche, nous devons d'abord sérialiser l'objet pour pouvoir le convertir en chaîne et le stocker dans un tableau. Par exemple :
<?php // a sample object $obj1 = (object) ['foo' => 'bar', 'property' => 1]; $obj2 = (object) ['abc' => 'def', 'number' => 100]; // serialize objects to string, and then concatenate two strings into one $str = serialize($obj1) . serialize($obj2); // unserialize the concatenated string to array $array = unserialize($str); // displaying the array print_r($array); ?>
Le résultat est le suivant :
Array ( [foo] => bar [property] => 1 [abc] => def [number] => 100 )
Comme vous pouvez le voir, nous avons créé deux objets $obj1 et $obj2 dans cet exemple et les avons sérialisés en chaînes. Ensuite, nous concaténons les deux chaînes à l'aide de l'opérateur point et transmettons cette chaîne concaténée à la fonction unserialize() pour la désérialiser en un tableau $array. Ce tableau contiendra toutes les propriétés et valeurs des deux objets.
Conclusion
Dans cet article, nous avons appris trois façons de convertir les objets renvoyés par PHP en tableaux : le transtypage, la conversion à l'aide de la fonction get_object_vars() et la conversion à l'aide des fonctions serialize() et unserialize(). L’utilisation de ces méthodes dépend de vos besoins spécifiques. Si vous rencontrez des objets complexes ou si plusieurs objets doivent être convertis, l'utilisation des fonctions serialize() et unserialize() peut être un meilleur choix. Cependant, pour des objets simples, il peut être plus simple d'utiliser un transtypage ou la fonction get_object_vars().
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!