PHP est un langage de développement back-end couramment utilisé, souvent utilisé pour développer des applications Web. En PHP, nous exploitons souvent des objets et des tableaux, et nous devons souvent convertir des objets en chaînes JSON ou des chaînes JSON en objets ou en tableaux. Dans cet article, nous expliquerons comment obtenir un objet en PHP et le convertir en différents types de données comme une chaîne JSON, un tableau, un tableau d'objets, etc.
Obtenir l'objet
Vous pouvez utiliser le mot-clé new
pour créer un objet en PHP. Par exemple, nous pouvons utiliser le code suivant pour créer un objet Person nommé $person
: new
关键字创建一个对象。例如,我们可以使用如下代码创建一个名为 $person
的 Person 对象:
class Person { public $name; public $age; } $person = new Person(); $person->name = '张三'; $person->age = 21;
上述代码定义了一个名为 Person
的类,该类拥有两个公共属性 name
和 age
。之后,我们使用 new
关键字创建了一个 Person
对象,并将其存储在 $person
变量中。我们给该对象设置了 name
和 age
属性的值,分别为 '张三'
和 21
。
将对象转为 JSON 字符串
在 PHP 中,我们可以使用 json_encode()
函数将一个对象转换为 JSON 字符串。例如,我们可以使用如下代码将 $person
对象转换为 JSON 字符串:
$person_json = json_encode($person);
上述代码将 $person
对象转换为 JSON 字符串,并将结果存储在 $person_json
变量中。结果如下所示:
{"name":"张三","age":21}
将 JSON 字符串转为数组
在 PHP 中,我们可以使用 json_decode()
函数将一个 JSON 字符串转换为一个数组。例如,我们可以使用如下代码将上一步得到的 $person_json
JSON 字符串转换为数组:
$person_array = json_decode($person_json, true);
上述代码将 $person_json
JSON 字符串转换为一个数组,并将结果存储在 $person_array
变量中。
需要注意的是,当第二个参数为 true
时,json_decode()
返回关联数组而非对象。因此,$person_array
变量的值为:
[ 'name' => '张三', 'age' => 21, ]
将 JSON 字符串转为对象
与将 JSON 字符串转换为数组的操作类似,我们也可以使用 json_decode()
函数将一个 JSON 字符串转换为一个对象。例如,我们可以使用如下代码将 $person_json
JSON 字符串转换为一个 Person
对象:
$person_obj = json_decode($person_json);
上述代码将 $person_json
JSON 字符串转换为一个 Person
对象,并将结果存储在 $person_obj
变量中。
需要注意的是,当第二个参数为 false
或省略时,json_decode()
返回的是一个没有定义类的对象。因此,默认情况下 $person_obj
变量的类型为 stdClass
,而该对象的属性可以通过如下方式访问:
$person_name = $person_obj->name; $person_age = $person_obj->age;
将数组转为 JSON 字符串
在 PHP 中,我们也可以使用 json_encode()
函数将一个数组转换为 JSON 字符串。例如,我们可以使用如下代码将 $person_array
数组转换为 JSON 字符串:
$person_array_json = json_encode($person_array);
上述代码将 $person_array
数组转换为 JSON 字符串,并将结果存储在 $person_array_json
变量中。与上一步类似,$person_array_json
的值为:
{"name":"张三","age":21}
将数组转为对象数组
在 PHP 中,我们可以使用 json_decode()
函数将一个 JSON 字符串转换为一个数组。如果这个数组包含多个元素,我们可以使用 foreach
循环访问它们并将其转换为对象。
例如,我们可以使用如下的 JSON 字符串表示多个 Person
对象:
[ {"name":"张三","age":21}, {"name":"李四","age":22}, {"name":"王五","age":23} ]
要将该 JSON 字符串转换为对象数组,我们可以使用如下代码:
$persons_array = json_decode($persons_json); $persons = []; foreach ($persons_array as $person_data) { $person = new Person(); $person->name = $person_data->name; $person->age = $person_data->age; $persons[] = $person; }
上述代码首先使用 json_decode()
函数将 $persons_json
JSON 字符串转换为一个数组。接着,我们定义一个空数组 $persons
,并使用 foreach
循环遍历 $persons_array
中的元素,即每个 Person
对象的数据。对于每个 $person_data
,我们都创建了一个新的 Person
对象,并将其属性值设置为 $person_data
中的相应值。之后,我们将该对象添加到 $persons
数组中,从而得到了一个包含多个 Person
rrreee
Person
, qui possède deux propriétés publiques nom et âge
. Après cela, nous créons un objet Person
en utilisant le mot-clé new
et le stockons dans la variable $person
. Nous définissons les valeurs des attributs name
et age
pour cet objet, qui sont 'Zhang San'
et 21 code> respectivement. <p></p>Convertir un objet en chaîne JSON<p></p>En PHP, nous pouvons utiliser la fonction <code>json_encode()
pour convertir un objet en chaîne JSON. Par exemple, nous pouvons utiliser le code suivant pour convertir l'objet $person
en une chaîne JSON : 🎜rrreee🎜Le code ci-dessus convertit l'objet $person
en une chaîne JSON et stocke le résultat dans la variable $person_json
. Le résultat ressemble à ceci : 🎜rrreee🎜Convertir une chaîne JSON en tableau🎜🎜En PHP, nous pouvons utiliser la fonction json_decode()
pour convertir une chaîne JSON en tableau. Par exemple, nous pouvons utiliser le code suivant pour convertir la chaîne JSON $person_json
obtenue à l'étape précédente en un tableau : 🎜rrreee🎜Le code ci-dessus convertit le $person_json
JSON chaîne dans un tableau et stockez le résultat dans la variable $person_array
. 🎜🎜Il est à noter que lorsque le deuxième paramètre est true
, json_decode()
renvoie un tableau associatif au lieu d'un objet. Par conséquent, la valeur de la variable $person_array
est : 🎜rrreee🎜Conversion de chaînes JSON en objets🎜🎜Similaire à la conversion de chaînes JSON en tableaux, nous pouvons également utiliser json_decode()
La fonction convertit une chaîne JSON en objet. Par exemple, nous pouvons utiliser le code suivant pour convertir la chaîne JSON $person_json
en un objet Person
: 🎜rrreee🎜Le code ci-dessus convertira le $person_json Caractère JSON Convertit la chaîne en un objet <code>Person
et stocke le résultat dans la variable $person_obj
. 🎜🎜Il est à noter que lorsque le deuxième paramètre est false
ou omis, json_decode()
renvoie un objet sans classe définie. Par conséquent, par défaut, le type de la variable $person_obj
est stdClass
, et les propriétés de l'objet sont accessibles comme suit : 🎜rrreee🎜Convertir le tableau en chaîne JSON 🎜🎜 En PHP, on peut également utiliser la fonction json_encode()
pour convertir un tableau en chaîne JSON. Par exemple, nous pouvons utiliser le code suivant pour convertir le tableau $person_array
en une chaîne JSON : 🎜rrreee🎜Le code ci-dessus convertit le tableau $person_array
en une chaîne JSON et stocke le résultat dans la variable $person_array_json
. Semblable à l'étape précédente, la valeur de $person_array_json
est : 🎜rrreee🎜Convertir le tableau en tableau d'objets🎜🎜En PHP, nous pouvons utiliser la fonction json_decode()
pour convertir un JSON Convertissez la chaîne en tableau. Si ce tableau contient plusieurs éléments, nous pouvons utiliser foreach
pour les parcourir et les convertir en objets. 🎜🎜Par exemple, nous pouvons utiliser la chaîne JSON suivante pour représenter plusieurs objets Person
: 🎜rrreee🎜Pour convertir cette chaîne JSON en un tableau d'objets, nous pouvons utiliser le code suivant : 🎜rrreee🎜Ce qui précède code Utilisez d'abord la fonction json_decode()
pour convertir la chaîne JSON $persons_json
en un tableau. Ensuite, nous définissons un tableau vide $persons
et utilisons foreach
pour parcourir les éléments de $persons_array
, c'est-à-dire chaque Person Les données de l'objet. Pour chaque <code>$person_data
, nous créons un nouvel objet Person
et définissons ses valeurs de propriété sur les valeurs correspondantes dans $person_data
. Nous ajoutons ensuite l'objet au tableau $persons
, ce qui donne un tableau contenant plusieurs objets Person
. 🎜🎜Conclusion🎜🎜Cet article explique comment obtenir des objets en PHP et les convertir en différents types de données tels que des chaînes JSON, des tableaux, des tableaux d'objets, etc. Ces opérations sont souvent utilisées dans le développement Web et j'espère qu'elles seront utiles aux lecteurs. 🎜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!