Maison  >  Article  >  développement back-end  >  Discuter de la conversion de type entre objets et tableaux en PHP

Discuter de la conversion de type entre objets et tableaux en PHP

PHPz
PHPzoriginal
2023-04-19 10:09:21612parcourir

En PHP, vous pouvez convertir des objets en tableaux. Cette conversion de type est très courante car nous devons souvent convertir les propriétés de l'objet en tableau pour une utilisation facile. Dans cet article, nous discuterons de la conversion de type entre objets et tableaux en PHP et présenterons quelques méthodes couramment utilisées.

Convertir un objet en tableau

En PHP, utilisez la fonction get_object_vars() pour convertir un objet en tableau. Cette fonction renverra un tableau contenant les propriétés et les valeurs des propriétés de l'objet, où les clés sont les noms des propriétés et les valeurs sont les valeurs des propriétés. Par exemple, nous pouvons définir un objet avec plusieurs propriétés, puis le convertir en tableau : get_object_vars()函数可以将对象转换为数组。该函数将返回一个包含对象属性和属性值的数组,其中键为属性名称,值为属性值。例如,我们可以定义一个带有多个属性的对象,然后将其转换为数组:

class Person {
    public $name = '';
    public $age = '';
    public $email = '';
}

$person = new Person();
$person->name = 'Jack';
$person->age = 25;
$person->email = 'jack@example.com';

$person_array = get_object_vars($person);

print_r($person_array);

输出结果如下:

Array
(
    [name] => Jack
    [age] => 25
    [email] => jack@example.com
)

如上所示,我们创建了一个Person对象,并设置了三个属性:nameageemail。然后,我们使用get_object_vars()函数将这个对象转换为数组。

数组转换为对象

我们还可以将一个数组转换为对象。在 PHP 中使用(object)类型转换来实现该操作。该方法适用于关联数组,其中数组的键将成为对象的属性名称,而数组的值将成为对象的属性值。

$data = array(
    'name' => 'Tom',
    'age'  => 22,
    'email' => 'tom@example.com'
);

$person = (object) $data;

print_r($person);

输出结果如下:

stdClass Object
(
    [name] => Tom
    [age] => 22
    [email] => tom@example.com
)

如上所示,我们创建了一个关联数组$data,然后使用(object)函数将其转换为对象。转换后得到的对象类型为stdClass,为内置的标准类型。

数组与对象混用

在 PHP 中,数组和对象可以互相转换,并且它们可以在一起使用。例如,我们可以将一个对象转换为数组后,对其中的某些属性进行修改,然后再将其转换回原来的对象。这在一些情况下特别有用,比如我们需要对一个 API 返回的 JSON 数据进行修改,然后再将其序列化为 JSON 格式返回。

$data = '{"name":"Tom","age":22,"email":"tom@example.com"}';
$person = json_decode($data);

$person_array = get_object_vars($person);

$person_array['age'] = 23;

$person = (object) $person_array;

echo json_encode($person);

输出结果如下:

{"name":"Tom","age":23,"email":"tom@example.com"}

如上所示,我们首先使用json_decode()函数将 JSON 格式的字符串转换为对象。然后,我们将对象转换为数组$person_array,并修改其中的值。最后,我们使用(object)类型转换将修改后的数组重新转换为对象,并使用json_encode()函数将对象序列化为 JSON 字符串格式。

结论

在 PHP 中,对对象和数组进行转换是非常常见的类型转换。使用get_object_vars()函数可以将对象转换为数组,而使用(object)rrreee

Le résultat est le suivant : 🎜rrreee🎜Comme indiqué ci-dessus, nous créons un objet Person et trois propriétés. sont définis : nom, âge et email. Ensuite, nous convertissons cet objet en tableau en utilisant la fonction get_object_vars(). 🎜🎜Convertir un tableau en objet🎜🎜Nous pouvons également convertir un tableau en objet. Utilisez la conversion de type (object) en PHP pour réaliser cette opération. Cette méthode fonctionne avec des tableaux associatifs, où les clés du tableau deviendront les noms de propriétés de l'objet et les valeurs du tableau deviendront les valeurs de propriété de l'objet. 🎜rrreee🎜Le résultat est le suivant : 🎜rrreee🎜Comme indiqué ci-dessus, nous créons un tableau associatif $data puis utilisons la fonction (object) pour le convertir en un objet. Le type d'objet obtenu après la conversion est stdClass, qui est un type standard intégré. 🎜🎜Mélange de tableaux et d'objets🎜🎜En PHP, les tableaux et les objets peuvent être convertis les uns dans les autres et ils peuvent être utilisés ensemble. Par exemple, nous pouvons convertir un objet en tableau, modifier certaines de ses propriétés, puis le reconvertir en objet d'origine. Ceci est particulièrement utile dans certains cas, par exemple lorsque nous devons modifier les données JSON renvoyées par une API, puis les sérialiser au format JSON et les renvoyer. 🎜rrreee🎜Le résultat de sortie est le suivant : 🎜rrreee🎜Comme indiqué ci-dessus, nous utilisons d'abord la fonction json_decode() pour convertir la chaîne au format JSON en un objet. Nous convertissons ensuite l'objet en un tableau $person_array et modifions les valeurs. Enfin, nous utilisons la conversion de type (object) pour reconvertir le tableau modifié en objet, et la fonction json_encode() pour sérialiser l'objet au format de chaîne JSON. 🎜🎜Conclusion🎜🎜En PHP, la conversion d'objets et de tableaux est une conversion de type très courante. Les objets peuvent être convertis en tableaux à l'aide de la fonction get_object_vars(), et les tableaux peuvent être convertis en objets à l'aide de la conversion de type (object). Cette conversion de type est très pratique et peut être utilisée dans de nombreux projets. Si vous devez convertir des objets et des tableaux en PHP, ces méthodes devraient vous aider. 🎜

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