Convertir un objet PHP en tableau associatif
-
Utilisez le mot-clé
array
pour transtyper l’objetStdClass
pour le convertir en un tableau associatif en PHP -
Utilisez l’objet
StdClass
à l’intérieur d’une classe définie par l’utilisateur pour convertir l’objet en un tableau associatif en PHP -
Utilisez les fonctions
json_encode()
etjson_decode()
pour convertir l’objet en un tableau associatif en PHP
Nous allons introduire une méthode pour convertir l’objet PHP en un tableau associatif transtypant les objets de StdClass
à l’aide du mot-clé array
. Nous utiliserons la fonction var_dump()
pour afficher le tableau associatif.
La deuxième approche montre une autre méthode pour convertir l’objet PHP en un tableau associatif créant une StdClass
dans le constructeur d’une classe définie par l’utilisateur. Nous allons convertir l’objet en tableau associatif comme dans la première méthode en utilisant le mot-clé array
. Cette méthode suit l’approche orientée objet.
Nous introduirons également une autre méthode pour convertir l’objet en tableau associatif en PHP à l’aide des fonctions json_encode()
et json_decode()
. Nous utiliserons la StdClass
pour créer l’objet et les propriétés dynamiques.
Utilisez le mot-clé array
pour transtyper l’objet StdClass
pour le convertir en un tableau associatif en PHP
Nous pouvons créer la classe vide StdClass
pour créer un objet en PHP et utiliser l’objet pour créer des propriétés. L’objet de la classe peut accéder directement aux propriétés. Il peut également créer des propriétés dynamiques pour la classe. Nous pouvons utiliser l’objet array
pour transtyper l’objet dans un tableau. La fonction var_dump()
vide les informations sur le type et les valeurs du tableau.
Par exemple, créez un objet $object
de la StdClass
en utilisant l’opérateur new
. Créez deux propriétés à l’aide du $object
nommé car1
et car2
. Attribuez les propriétés avec les valeurs porsche
et bugatti
. Utilisez le mot-clé array
pour transtyper la variable $object
. Enveloppez le mot-clé array
avec des parenthèses avant la variable $object
et videz la valeur à l’aide de la fonction var_dump()
. L’exemple ci-dessous convertit les objets en un tableau associatif, comme indiqué dans la section de sortie. Il affiche les paires clé et valeur pour chaque élément du tableau.
Exemple de code :
#php 7.x
<?php
$object = new StdClass;
$object->car1 = "porsche";
$object->car2 = "bugatti";
var_dump( (array) $object );
?>
Production:
array(2) { ["car1"]=> string(7) "porsche" ["car2"]=> string(7) "bugatti" }
Utilisez l’objet StdClass
à l’intérieur d’une classe définie par l’utilisateur pour convertir l’objet en un tableau associatif en PHP
Nous pouvons créer une instance de la StdClass
dans le constructeur de la classe et utiliser le mot-clé array
pour convertir l’objet des classes en un tableau associatif. Nous pouvons créer une classe et en définir certaines propriétés. Le constructeur de la classe initialise les propriétés de la classe à des valeurs spécifiques. On peut créer un objet de la StdClass
et lui attribuer une des propriétés de la classe. L’opérateur new
, avec la classe, invoque le constructeur. On peut utiliser le mot-clé array
juste avant l’invocation pour convertir l’objet de la classe en un tableau associatif.
Par exemple, créez une classe Motorcycle
. Créez trois propriétés de classe avec le modificateur d’accès private
comme $name
, $color
et $type
. Créez un constructeur de la classe et à l’intérieur du constructeur initialisez les valeurs des propriétés. Écrivez Husky
pour le name
, white
pour $color
et créez un objet de la StdClass
pour $type
. Utilisez le mot-clé $this
pour initialiser les propriétés. En dehors de la classe, invoquez la classe Motorcycle
et utilisez le mot-clé array
pour transtyper avant d’appeler. Utilisez la fonction var_dump()
pour vider les informations sur le tableau transtypé.
Exemple de code :
#php 7.x
class Motorcycle{
private $name;
private $color;
private $type;
public function __construct(){
$this->name = "Husky";
$this->color = "white";
$this->type = new StdClass;
}
}
var_dump( (array) new Motorcycle );
Production:
array(3) { ["Motorcyclename"]=> string(5) "Husky" ["Motorcyclecolor"]=> string(5) "white" ["Motorcycletype"]=> object(stdClass)#2 (0) { } }
Utilisez les fonctions json_encode()
et json_decode()
pour convertir l’objet en un tableau associatif en PHP
La fonction json_encode()
encode une valeur vers l’objet JSON et la fonction json_decode()
convertit l’objet JSON en objet PHP. La valeur booléenne, le deuxième paramètre de la fonction json_decode()
, indique ce que l’objet JSON doit être converti. La valeur true
convertira l’objet JSON en un tableau associatif, tandis que la valeur false
le convertira en un objet PHP.
Par exemple, créez un objet de la StdClass
et affectez-le à la variable $object
. Nommez deux valeurs de la propriété de l’objet comme Mustang
et Manang
et stockez-les dans les variables place1
et place2
. Utilisez la fonction json_encode()
sur la variable $object
et stockez la valeur dans la variable $json
. Ensuite, utilisez la fonction json_decode()
sur la variable $json
et utilisez la valeur booléenne true
comme deuxième paramètre. Stockez la valeur dans la variable $array
. Videz la variable à l’aide de la fonction var_dump()
.
Dans l’exemple ci-dessous, la variable $object
contient l’objet StdClass
. La fonction json_ecode()
convertit l’objet en chaîne JSON. La fonction json_decode()
convertit la chaîne JSON en tableau associatif.
Exemple de code :
#php 7.x
<?php
$object = new StdClass;
$object->place1 = "Mustang";
$object->place2 = "Manang";
$json= json_encode($object);
$array = json_decode($json, true);
var_dump($array);
?>
Production:
array(2) { ["place1"]=> string(7) "Mustang" ["place2"]=> string(6) "Manang" }
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn