Maison > développement back-end > tutoriel php > Comment convertir rapidement un objet PHP en un tableau associatif ?

Comment convertir rapidement un objet PHP en un tableau associatif ?

DDD
Libérer: 2024-12-21 19:07:10
original
432 Les gens l'ont consulté

How to Quickly Convert a PHP Object into an Associative Array?

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;
Copier après la connexion

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 :

  • Les propriétés publiques sont directement accessibles dans le array.
  • Les propriétés privées ont 'foo' ajouté au nom de la variable.
  • Les propriétés protégées ont '*foo' ajouté au nom de la variable. .

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 );
Copier après la connexion

Sortie :

array(2) {
  'foo' => int(1)
  'bar' => int(2)
}
Copier après la connexion

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 );
Copier après la connexion

Sortie :

array(3) {
  'Foofoo' => int(1)
  '*bar' => int(2)
  'baz' => class stdClass#2 (0) {}
}
Copier après la connexion

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 :

  • Classe PHP intégrée stdClass : https://www.php.net/manual/en/class.stdclass.php
  • Blog de conversion rapide d'un objet en tableau Article : https://dereuromark.de/2011/02/03/fast-php-object-to-array-conversion/

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:php.cn
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