Maison  >  Article  >  développement back-end  >  Comment convertir des objets en PHP

Comment convertir des objets en PHP

PHPz
PHPzoriginal
2023-04-12 09:03:141202parcourir

Alors que PHP devient le langage courant pour le développement Web moderne, de plus en plus de développeurs s'impliquent dans la programmation objet. En PHP, les objets constituent une structure de données très puissante et courante. Cependant, dans le développement réel, nous devons souvent convertir des objets en objets chaîne ou tableau afin d'effectuer d'autres opérations. Cet article explique comment effectuer une conversion d'objets en PHP, y compris la conversion de chaînes, la conversion de tableaux et la conversion de tableaux d'objets.

1. Convertir des objets PHP en chaînes
En PHP, la conversion d'objets en chaînes est très simple. Il vous suffit de définir une méthode magique __toString() dans l'objet, qui convertira automatiquement l'objet en chaîne lorsqu'il est appelé. Par exemple, l'exemple de code suivant :

class Person{
    public $name;
    public $age;

    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }

    public function __toString(){
        return $this->name . " is " . $this->age . " years old.";
    }
}

$person = new Person("Tom",20);
echo $person;

Le résultat en cours d'exécution est :

Tom is 20 years old.

Dans l'exemple de code ci-dessus, nous avons défini une classe Person, qui a deux attributs $name et $age, représentant respectivement le nom et l'âge de la personne. Nous définissons également une méthode __toString(), qui convertit automatiquement l'objet en chaîne pour réaliser la conversion d'objet.

2. Convertir des objets PHP en tableaux
En plus de convertir des objets en chaînes, nous pouvons également convertir des objets en tableaux. PHP propose deux méthodes pour convertir des objets en tableaux. La première consiste à utiliser la fonction get_object_vars(), qui peut renvoyer une liste d'attributs d'objet. L'autre méthode consiste à utiliser l'accesseur d'attribut d'objet "->" pour obtenir la valeur de l'attribut d'objet. Comme le montre l'exemple de code suivant :

class Person{
    public $name;
    public $age;

    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }

    public function toArray(){
        return get_object_vars($this);
    }
}

$person = new Person("Tom",20);
print_r($person->toArray());

Le résultat courant est :

Array
(
    [name] => Tom
    [age] => 20
)

Dans l'exemple de code ci-dessus, nous définissons une classe Person, qui a deux attributs $name et $age, représentant respectivement le nom et l'âge de la personne. Nous définissons également une méthode toArray(), qui utilise la fonction get_object_vars() pour renvoyer la liste d'attributs de l'objet afin de convertir l'objet en tableau.

En plus d'utiliser la fonction get_object_vars(), nous pouvons également utiliser l'accesseur d'attribut d'objet "->" pour obtenir la valeur de l'attribut d'objet, convertissant ainsi l'objet en tableau. Comme indiqué ci-dessous :

class Person{
    public $name;
    public $age;

    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }

    public function toArray(){
        return array(
            "name" => $this->name,
            "age" => $this->age
        );
    }
}

$person = new Person("Tom",20);
print_r($person->toArray());

Le résultat courant est :

Array
(
    [name] => Tom
    [age] => 20
)

Dans l'exemple de code ci-dessus, nous avons défini une classe Person, qui a deux attributs $name et $age, représentant respectivement le nom et l'âge de la personne. Nous définissons également une méthode toArray(), qui utilise l'accesseur de propriété d'objet "->" pour obtenir la valeur de la propriété d'objet et renvoie le tableau de propriétés, convertissant ainsi l'objet en tableau.

3. Convertir un tableau d'objets PHP en tableau
Dans le développement réel, nous devons souvent convertir plusieurs objets en tableaux et former ces tableaux en un objet tableau. PHP fournit deux méthodes pour réaliser cette fonction, l'une consiste à utiliser le parcours de tableau et l'autre consiste à utiliser le mappage de tableau. Comme le montre l'exemple de code suivant :

class Person{
    public $name;
    public $age;

    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }

    public function toArray(){
        return array(
            "name" => $this->name,
            "age" => $this->age
        );
    }
}

$persons = array(
    new Person("Tom",20),
    new Person("Jerry",25),
    new Person("Kate",30)
);

//数组遍历
$result = array();
foreach($persons as $person){
    $result[] = $person->toArray();
}
print_r($result);

//数组映射
$result = array_map(function($person){
    return $person->toArray();
},$persons);
print_r($result);

Le résultat courant est :

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 20
        )

    [1] => Array
        (
            [name] => Jerry
            [age] => 25
        )

    [2] => Array
        (
            [name] => Kate
            [age] => 30
        )

)

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 20
        )

    [1] => Array
        (
            [name] => Jerry
            [age] => 25
        )

    [2] => Array
        (
            [name] => Kate
            [age] => 30
        )

)

Dans l'exemple de code ci-dessus, nous définissons une classe Person, qui a deux attributs $name et $age, représentant respectivement le nom et l'âge de la personne. Nous définissons également une méthode toArray(), qui utilise l'accesseur de propriété d'objet "->" pour obtenir la valeur de la propriété d'objet et renvoie le tableau de propriétés, convertissant ainsi l'objet en tableau.

Nous définissons un tableau $persons contenant plusieurs objets Person. En utilisant le parcours de tableau ou le mappage de tableau, nous pouvons convertir chaque objet Person en un tableau, puis former un objet tableau. Le résultat final est un tableau contenant plusieurs objets tableau.

Résumé :
PHP fournit une variété de méthodes pour réaliser la conversion d'objets, notamment la conversion de chaîne, la conversion de tableau et la conversion de tableau d'objets, etc. Nous pouvons choisir la méthode appropriée en fonction des besoins réels pour réaliser la fonction de conversion d'objet.

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!

Déclaration:
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