Maison  >  Article  >  développement back-end  >  Comment forcer la conversion d'un objet php en tableau

Comment forcer la conversion d'un objet php en tableau

PHPz
PHPzoriginal
2023-04-18 09:47:32469parcourir

En PHP, nous avons parfois besoin de convertir des objets en tableaux. Normalement, nous pouvons accéder ou définir les valeurs des objets via leurs propriétés. Mais il existe des situations dans lesquelles vous devez convertir un objet en tableau, par exemple lorsque vous devez convertir un objet en chaîne JSON ou transmettre les propriétés d'un objet à une méthode.

En PHP, vous pouvez utiliser le transtypage pour convertir des objets en tableaux. Il existe une fonction de conversion intégrée array en PHP qui peut convertir un objet en tableau. array 可以将对象转换成数组。

示例:

class Person {
  public $name;
  public $age;
  public $gender;

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

$person = new Person("Tom", 25, "male");

$personArray = (array) $person;

print_r($personArray);

代码解析:

在上面的示例中,我们定义了一个名为 Person 的类,它有三个公共属性:$name, $age, 和 $gender。我们创建了一个 Person 对象并将其存储在变量 $person 中。接下来,我们使用 PHP 中的强制类型转换函数 array$person 对象转换为一个数组并将其存储在变量 $personArray 中。最后,我们使用 print_r 函数打印数组 $personArray

Exemple :

Array
(
    [name] => Tom
    [age] => 25
    [gender] => male
)
Analyse de code :

Dans l'exemple ci-dessus, nous définissons une classe nommée Person, qui possède trois propriétés publiques : $name , $age et $gender. Nous créons un objet Person et le stockons dans la variable $person. Ensuite, nous utilisons la fonction cast array en PHP pour convertir l'objet $person en un tableau et le stocker dans la variable $personArray au milieu. Enfin, nous imprimons les valeurs du tableau $personArray à l'aide de la fonction print_r.

Lors de l'exécution du code ci-dessus, nous constaterons qu'après avoir converti l'objet en tableau, les propriétés de l'objet deviennent les clés du tableau et les valeurs des propriétés deviennent les valeurs du tableau. Le résultat est le suivant :

class Person {
  private $firstName;
  protected $lastName;
  public $age;

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

$person = new Person("Tom", "Smith", 25);

$personArray = (array) $person;

print_r($personArray);
Vous pouvez voir que lorsque l'objet est converti en un tableau, les propriétés de l'objet deviennent les clés du tableau et les valeurs des propriétés deviennent les valeurs du tableau. Cela nous permet d'accéder plus facilement ou de transmettre les propriétés d'un objet.

Il est important de noter que lors de la conversion d'un objet en tableau, les propriétés privées ou protégées ne sont pas converties en tableau. Ainsi, si vous devez inclure les valeurs de toutes les propriétés dans un tableau, vous devez les définir comme propriétés publiques.

Exemple :

Array
(
    [PersonfirstName] => Tom
    [lastName:Protected] => Smith
    [age] => 25
)
Le résultat est le suivant :
    rrreee
  1. Comme vous pouvez le voir, les noms des propriétés privées sont modifiés dans le tableau et les noms des propriétés protégées sont marqués. En effet, PHP préfixe les propriétés privées et protégées lors de la conversion pour éviter les conflits de noms.
  2. Après avoir résumé les exemples et l'analyse ci-dessus, nous pouvons tirer les conclusions suivantes :
  3. En PHP, vous pouvez utiliser cast pour convertir un objet en tableau.
  4. Lors de la conversion d'un objet en tableau, les propriétés de l'objet deviendront les clés du tableau et les valeurs des propriétés deviendront les valeurs du tableau.

Les propriétés privées ou protégées ne sont pas converties en tableaux, elles doivent être définies comme propriétés publiques.

🎜Lors de la diffusion, PHP préfixe les propriétés privées et protégées pour éviter les conflits de noms. 🎜🎜🎜Ce qui précède présente quelques connaissances de base sur la conversion d'objets PHP en tableaux, mais en fait, il existe de nombreuses façons de convertir des objets en tableaux en PHP. Par conséquent, dans des applications spécifiques, il est nécessaire de sélectionner la méthode de conversion la plus appropriée en fonction des scénarios commerciaux et des besoins spécifiques. 🎜

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