Comment convertir rapidement un objet PHP en un tableau associatif
Lors de l'intégration d'API qui fonctionnent avec des données basées sur des objets, le besoin s'en fait souvent sentir pour convertir ces objets en tableaux pour les aligner sur le code existant à l'aide de tableaux. Voici une solution concise et simple pour effectuer cette conversion :
Typecast l'objet :
Pour convertir un objet en tableau associatif, vous pouvez simplement le typer comme suit :
$array = (array) $yourObject;
Cette méthode de transtypage est une approche directe et efficace. Cependant, il est important de noter qu'il n'effectue qu'une conversion superficielle.
Accessibilité des propriétés dans les tableaux Cast :
Lors du transtypage d'un objet dans un tableau, diverses règles s'appliquent concernant accessibilité des propriétés :
Propriété entière Conversion :
Les propriétés entières sont inaccessibles et n'apparaîtront pas dans le tableau converti.
Exemple : Conversion d'un objet simple :
$object = new StdClass; $object->foo = 1; $object->bar = 2; var_dump( (array) $object );
Sortie :
array(2) { 'foo' => int(1) 'bar' => int(2) }
Exemple : Conversion d'un objet complexe avec des propriétés privées et protégées :
class Foo { private $foo; protected $bar; public $baz; public function __construct() { $this->foo = 1; $this->bar = 2; $this->baz = new StdClass; } } var_dump( (array) new Foo );
Sortie :
array(3) { 'Foofoo' => int(1) '*bar' => int(2) 'baz' => class stdClass#2 (0) {} }
Comme vous pouvez le constater, les propriétés privées et protégées sont présentes dans le tableau converti avec les préfixes ajoutés spécifiés.
Casting profond et non public Propriétés :
Notez que cette méthode de transtypage n'effectue pas de conversion en profondeur. Pour accéder aux attributs non publics, vous devrez peut-être appliquer explicitement les octets nuls, comme expliqué dans la documentation officielle PHP.
Pour des informations plus détaillées, reportez-vous aux ressources liées :
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!