Heim >Backend-Entwicklung >PHP-Problem >So erhalten Sie Objekte und konvertieren Datentypen in PHP
PHP ist eine häufig verwendete Back-End-Entwicklungssprache, die häufig zur Entwicklung von Webanwendungen verwendet wird. In PHP bedienen wir häufig Objekte und Arrays und müssen häufig Objekte in JSON-Strings oder JSON-Strings in Objekte oder Arrays konvertieren. In diesem Artikel erklären wir, wie man ein Objekt in PHP erhält und es in verschiedene Datentypen wie JSON-String, Array, Array von Objekten usw. konvertiert.
Holen Sie sich das Objekt
Sie können das Schlüsselwort new
verwenden, um ein Objekt in PHP zu erstellen. Beispielsweise können wir den folgenden Code verwenden, um ein Personenobjekt mit dem Namen $person
zu erstellen: 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
, die über zwei öffentliche Eigenschaften Name und Alter
. Danach erstellen wir ein Person
-Objekt mit dem Schlüsselwort new
und speichern es in der Variablen $person
. Wir legen die Werte der Attribute name
und age
für dieses Objekt fest, nämlich 'Zhang San'
und 21 code> bzw. <p></p>Objekt in JSON-String konvertieren<p></p>In PHP können wir die Funktion <code>json_encode()
verwenden, um ein Objekt in einen JSON-String zu konvertieren. Beispielsweise können wir den folgenden Code verwenden, um das Objekt $person
in einen JSON-String zu konvertieren: 🎜rrreee🎜Der obige Code konvertiert das Objekt $person
in einen JSON-String und speichert das Ergebnis in der Variablen $person_json
. Das Ergebnis sieht so aus: 🎜rrreee🎜JSON-String in Array konvertieren🎜🎜In PHP können wir die Funktion json_decode()
verwenden, um einen JSON-String in ein Array zu konvertieren. Beispielsweise können wir den folgenden Code verwenden, um den im vorherigen Schritt erhaltenen JSON-String $person_json
in ein Array zu konvertieren: 🎜rrreee🎜Der obige Code konvertiert den JSON $person_json
string in ein Array und speichern Sie das Ergebnis in der Variablen $person_array
. 🎜🎜Es ist zu beachten, dass json_decode()
ein assoziatives Array anstelle eines Objekts zurückgibt, wenn der zweite Parameter true
ist. Daher lautet der Wert der Variablen $person_array
: 🎜rrreee🎜JSON-Strings in Objekte konvertieren🎜🎜Ähnlich wie JSON-Strings in Arrays konvertieren, können wir auch json_decode()
verwenden Funktion konvertiert einen JSON-String in ein Objekt. Beispielsweise können wir den folgenden Code verwenden, um die JSON-Zeichenfolge $person_json
in ein Person
-Objekt zu konvertieren: 🎜rrreee🎜Der obige Code konvertiert den $person_json JSON-Zeichen Konvertieren Sie die Zeichenfolge in ein <code>Person
-Objekt und speichern Sie das Ergebnis in der Variablen $person_obj
. 🎜🎜Es ist zu beachten, dass json_decode()
ein Objekt ohne definierte Klasse zurückgibt, wenn der zweite Parameter false
ist oder weggelassen wird. Daher ist der Typ der Variablen $person_obj
standardmäßig stdClass
und auf die Eigenschaften des Objekts kann wie folgt zugegriffen werden: 🎜rrreee🎜Konvertieren Sie das Array in einen JSON-String 🎜🎜 In PHP können wir auch die Funktion json_encode()
verwenden, um ein Array in einen JSON-String umzuwandeln. Beispielsweise können wir den folgenden Code verwenden, um das Array $person_array
in einen JSON-String zu konvertieren: 🎜rrreee🎜Der obige Code konvertiert das Array $person_array
in einen JSON-String und speichert das Ergebnis in der Variablen $person_array_json
. Ähnlich wie im vorherigen Schritt lautet der Wert von $person_array_json
: 🎜rrreee🎜Konvertieren Sie das Array in ein Objektarray🎜🎜In PHP können wir die Funktion json_decode()
verwenden So konvertieren Sie einen JSON: Konvertieren Sie die Zeichenfolge in ein Array. Wenn dieses Array mehrere Elemente enthält, können wir foreach
verwenden, um sie zu durchlaufen und sie in Objekte umzuwandeln. 🎜🎜Zum Beispiel können wir die folgende JSON-Zeichenfolge verwenden, um mehrere Person
-Objekte darzustellen: 🎜rrreee🎜Um diese JSON-Zeichenfolge in ein Objektarray umzuwandeln, können wir den folgenden Code verwenden: 🎜rrreee🎜Das Obige Code Verwenden Sie zunächst die Funktion json_decode()
, um die JSON-Zeichenfolge $persons_json
in ein Array zu konvertieren. Als nächstes definieren wir ein leeres Array $persons
und verwenden foreach
, um die Elemente in $persons_array
, also jede Person, zu durchlaufen
Die Daten des Objekts. Für jedes $person_data
erstellen wir ein neues Person
-Objekt und setzen seine Eigenschaftswerte auf die entsprechenden Werte in $person_data
. Anschließend fügen wir das Objekt dem Array $persons
hinzu, wodurch ein Array entsteht, das mehrere Person
-Objekte enthält. 🎜🎜Fazit🎜🎜Dieser Artikel stellt vor, wie man Objekte in PHP erhält und sie in verschiedene Datentypen wie JSON-Strings, Arrays, Objekt-Arrays usw. konvertiert. Diese Operationen werden häufig in der Webentwicklung verwendet und ich hoffe, dass sie den Lesern hilfreich sein werden. 🎜Das obige ist der detaillierte Inhalt vonSo erhalten Sie Objekte und konvertieren Datentypen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!