Maison >développement back-end >Problème PHP >Comment convertir php en tableaux et objets

Comment convertir php en tableaux et objets

PHPz
PHPzoriginal
2023-04-25 10:43:01472parcourir

En PHP, les tableaux et les objets sont deux structures de données courantes qui jouent un rôle important dans le traitement des données. Lorsque nous devons convertir une source de données en tableau ou en objet, nous devons souvent utiliser certaines fonctions ou méthodes correspondantes pour y parvenir. Ce qui suit explorera en détail les techniques associées pour convertir des sources de données en tableaux et objets en PHP.

1. Convertir un tableau en objet en PHP

En PHP, la méthode pour convertir un tableau en objet est très simple, il suffit d'utiliser la conversion de type forcée. Un exemple est le suivant :

$array = [
    'name' => '张三',
    'age' => 20
];

$object = (object) $array;

echo $object->name;  //输出:张三
echo $object->age;   //输出:20

En convertissant le tableau, PHP utilisera automatiquement les noms de clés du tableau comme attributs d'objet et les valeurs clés comme valeurs d'attribut. Cette méthode est très simple et pratique et convient à la conversion de petites sources de données.

2. Convertir des objets en tableaux

Contrairement à la conversion de tableaux en objets, la méthode PHP de conversion d'objets en tableaux est relativement simple. Nous pouvons utiliser la fonction get_object_vars() ou json_decode() pour y parvenir. Les opérations spécifiques de ces deux méthodes sont présentées ci-dessous.

  1. Fonction get_object_vars() La fonction

get_object_vars() peut convertir un objet en tableau et renvoyer un tableau associatif composé d'attributs d'objet. Un exemple est le suivant :

class Person {
    public $name = '张三';
    protected $age = 20;
    private $gender = '男';

    function __construct() {
        echo '对象已创建';
    }
}

$person = new Person();

$array = get_object_vars($person);

print_r($array);

Après avoir exécuté le code ci-dessus, le résultat de sortie est le suivant :

对象已创建
Array
(
    [name] => 张三
    [age] => 20
    [*gender] => 男
)

Comme vous pouvez le voir sur les résultats, la fonction get_object_vars() convertit tous les attributs de l'objet en éléments de tableau. Cependant, il convient de noter que si l'objet contient des propriétés privées ou des propriétés protégées, elles seront marquées comme variables faibles et incluront un astérisque (*) dans la sortie.

  1. Fonction json_decode()

La fonction json_decode() est l'une des fonctions couramment utilisées en PHP, qui peut convertir des chaînes au format JSON en tableaux ou objets PHP. Lorsque nous devons convertir un objet en tableau, nous pouvons d'abord convertir l'objet en chaîne au format JSON, puis l'analyser via la fonction json_decode(). L'exemple de code est le suivant :

class Person {
    public $name = '张三';
    protected $age = 20;
    private $gender = '男';

    function __construct() {
        echo '对象已创建';
    }
}

$person = new Person();

$json = json_encode($person);

$array = json_decode($json, true);

print_r($array);

Après avoir exécuté le code ci-dessus, le résultat est le suivant :

对象已创建
Array
(
    [name] => 张三
    [age] => 20
)

Comme le montrent les résultats, la fonction json_decode() peut convertir toutes les propriétés publiques de l'objet en éléments de tableau et ignorez toutes les propriétés privées et les propriétés protégées. Si vous devez également convertir des propriétés privées et protégées en éléments de tableau, vous pouvez définir le deuxième paramètre sur false.

3. Résumé

Ce qui précède sont les technologies associées pour convertir les sources de données en PHP en tableaux et objets. Lorsque nous devons analyser et traiter une certaine source de données, il est très important de choisir la structure de données appropriée. La conversion de sources de données en tableaux ou en objets facilite un traitement de données convivial et standardisé. J'espère que le contenu décrit dans cet article sera utile au travail de développement de la majorité des développeurs 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!

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