Maison > développement back-end > tutoriel php > Convertir un objet en tableau en PHP

Convertir un objet en tableau en PHP

WBOY
Libérer: 2023-09-09 17:56:01
avant
1055 Les gens l'ont consulté

Convertir un objet en tableau en PHP

Dans les applications PHP, nous traitons des données dans divers formats tels que des chaînes, des tableaux, des objets, etc... Dans les applications en temps réel, nous pouvons avoir besoin de lire le tableau de résultats de l'objet PHP sous forme associative pour obtenir le sortie souhaitée.

Nous allons donc discuter ici de la façon de convertir un objet php en tableau associatif en PHP.

Expliquons que sont les objets et les tableaux associatifs en PHP ? Les objets sont des instances de classes, ce qui signifie que vous pouvez créer de nombreux objets à partir d'une classe. C'est juste un échantillon d'une classe avec de la mémoire allouée. D’un autre côté, un tableau constitué de chaînes comme indices est appelé tableau associatif. Il contient une paire clé-valeur, où les valeurs sont associées à leurs clés respectives.

Parlons maintenant des différentes façons de convertir un objet en tableau.

Méthode 1 :

Utilisation des technologies json_decode et json_encode :

Initialement, la fonction json_encode() renvoie la chaîne codée JSON de la valeur donnée. La fonction json_decode() le convertit en tableau PHP.

Exemple :

<?php
   class student {
      public function __construct($firstname, $lastname) {
         $this->firstname = $firstname;
         $this->lastname = $lastname;
      }
   }
   $myObj = new student("Alex", "Stokes");
   echo "Before conversion:".&#39;</br>&#39;;
   var_dump($myObj);
   $myArray = json_decode(json_encode($myObj), true);
   echo "After conversion:".&#39;</br>&#39;;
   var_dump($myArray);
?>
Copier après la connexion

Sortie :

Before conversion:
object(student)#1 (2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
After conversion:
array(2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
Copier après la connexion

Explication :

Ici, nous avons créé une classe Student et déclaré une fonction __construct() dans la classe qui est exécutée lors de la création de l'objet. Le constructeur reçoit des paramètres qui sont fournis ultérieurement lors de la création de l'objet à l'aide du nouveau mot-clé. Dans la première expression var_dump(), nous imprimons l'objet, mais dans le second cas, nous convertissons l'objet en tableau à l'aide des techniques json_decode et json_encode.

Méthode 2 :

< h2>Convertir un objet en tableau à l'aide de la technique de conversion de type :

La conversion de type est une méthode d'utilisation d'une variable de type de données dans un type de données différent, il s'agit simplement d'une conversion exacte du type de données.

<?php
   class bag {
      public function __construct( $item1, $item2, $item3){
         $this->item1 = $item1;
         $this->item2 =$item2;
         $this->item3 = $item3;
      }
   }
   $myBag = new bag("Books", "Ball", "Pens");
   echo "Before conversion :".&#39;</br>&#39;;
   var_dump($myBag);
   $myBagArray = (array)$myBag;
   echo "After conversion :".&#39;</br>&#39;;
   var_dump($myBagArray);
?>
Copier après la connexion

Sortie :

Before conversion :
object(bag)#1 (3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
After conversion:
array(3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
Copier après la connexion

Explication :

Ici, nous avons créé une classe appelée "bag" et à l'intérieur de cette classe, nous avons déclaré une fonction __construct() qui est exécutée lors de la création de l'objet. Le constructeur reçoit des paramètres qui sont fournis lors de la création d'un objet à l'aide du mot-clé new. Dans la première expression var_dump(), nous imprimons simplement l'objet, mais dans le second cas, nous utilisons une procédure d'indication de type pour convertir l'objet en tableau.

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:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal