Maison > Article > développement back-end > Comment forcer la conversion d'un objet php en tableau
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
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 :
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!