Maison > développement back-end > Problème PHP > Comment convertir un objet en tableau en php

Comment convertir un objet en tableau en php

青灯夜游
Libérer: 2023-03-10 13:16:01
original
3965 Les gens l'ont consulté

Comment convertir un objet en tableau en PHP : 1. Utilisez la conversion de type forcée, syntaxe "(array)Object variable" ; 2. Utilisez la fonction get_object_vars(), syntaxe "get_object_vars (object variable)".

Comment convertir un objet en tableau en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Méthode 1 : Utilisation forcée conversion de type --Ajoutez le type cible "(tableau)" entre parenthèses avant la variable à convertir

Exemple : objet converti en tableau

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();
print_r((array)$bar);
?>
Copier après la connexion

Sortie :

Doing foo.Array ( )
Copier après la connexion

Informations étendues :

Les types de données PHP autorisés pour la conversion sont :

  • (int), (integer) : converti en Integer

  • (float), (double), (real) : Convertir en type à virgule flottante

  • (string) : Convertir en chaîne

  • (bool), (boolean) : Convertir en type booléen

  • (array) : Convertir en tableau

  • (object) : Convertir en objet

Méthode 2 : Utiliser la fonction get_object_vars()

get_object_vars — renvoie les propriétés de l'objet An tableau associatif composé de. Format de syntaxe :

get_object_vars ( object $obj )
Copier après la connexion

Renvoie un tableau associatif composé d'attributs définis dans l'objet spécifié par obj.

Exemple :

<?php
class Point2D {
    var $x, $y;
    var $label;

    function Point2D($x, $y)
    {
        $this->x = $x;
        $this->y = $y;
    }

    function setLabel($label)
    {
        $this->label = $label;
    }

    function getPoint()
    {
        return array("x" => $this->x,
                     "y" => $this->y,
                     "label" => $this->label);
    }
}

// "$label" is declared but not defined
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));

$p1->setLabel("point #1");
print_r(get_object_vars($p1));

?>
Copier après la connexion

Sortie :

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Étiquettes associées:
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