Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mendapatkan objek dan menukar jenis data dalam PHP
PHP ialah bahasa pembangunan bahagian belakang yang biasa digunakan, yang sering digunakan untuk membangunkan aplikasi web. Dalam PHP, kami sering mengendalikan objek dan tatasusunan, dan kami sering perlu menukar objek kepada rentetan JSON atau rentetan JSON kepada objek atau tatasusunan. Dalam artikel ini, kami akan menerangkan cara mendapatkan objek dalam PHP dan menukarnya kepada jenis data yang berbeza seperti rentetan JSON, tatasusunan, tatasusunan objek, dsb.
Dapatkan objek
Anda boleh menggunakan kata kunci new
untuk mencipta objek dalam PHP. Sebagai contoh, kita boleh menggunakan kod berikut untuk mencipta objek Orang bernama $person
:
class Person { public $name; public $age; } $person = new Person(); $person->name = '张三'; $person->age = 21;
Kod di atas mentakrifkan kelas bernama Person
, yang mempunyai dua sifat awam name
dan age
. Selepas itu, kami mencipta objek new
menggunakan kata kunci Person
dan menyimpannya dalam pembolehubah $person
. Kami menetapkan nilai sifat name
dan age
kepada objek, iaitu masing-masing '张三'
dan 21
.
Tukar objek kepada rentetan JSON
Dalam PHP, kita boleh menggunakan fungsi json_encode()
untuk menukar objek kepada rentetan JSON. Sebagai contoh, kita boleh menggunakan kod berikut untuk menukar objek $person
kepada rentetan JSON:
$person_json = json_encode($person);
Kod di atas menukar objek $person
kepada rentetan JSON dan menyimpan hasilnya dalam $person_json
pembolehubah . Hasilnya kelihatan seperti ini:
{"name":"张三","age":21}
Tukar rentetan JSON kepada tatasusunan
Dalam PHP, kita boleh menggunakan fungsi json_decode()
untuk menukar rentetan JSON kepada tatasusunan. Sebagai contoh, kita boleh menggunakan kod berikut untuk menukar $person_json
rentetan JSON yang diperoleh pada langkah sebelumnya kepada tatasusunan:
$person_array = json_decode($person_json, true);
Kod di atas menukar rentetan $person_json
JSON kepada tatasusunan dan menyimpan keputusan dalam $person_array
dalam pembolehubah.
Perlu diambil perhatian bahawa apabila parameter kedua ialah true
, json_decode()
mengembalikan tatasusunan bersekutu dan bukannya objek. Oleh itu, nilai pembolehubah $person_array
ialah:
[ 'name' => '张三', 'age' => 21, ]
Menukar rentetan JSON kepada objek
adalah serupa dengan menukar rentetan JSON kepada tatasusunan Kita juga boleh menggunakan json_decode()
Menukar fungsi rentetan JSON ke dalam objek. Sebagai contoh, kita boleh menggunakan kod berikut untuk menukar rentetan $person_json
JSON kepada objek Person
:
$person_obj = json_decode($person_json);
Kod di atas menukar rentetan $person_json
JSON kepada objek Person
dan Hasilnya disimpan dalam pembolehubah $person_obj
.
Perlu diambil perhatian bahawa apabila parameter kedua false
atau ditinggalkan, json_decode()
mengembalikan objek tanpa kelas yang ditentukan. Oleh itu, secara lalai jenis pembolehubah $person_obj
ialah stdClass
, dan sifat objek boleh diakses seperti berikut:
$person_name = $person_obj->name; $person_age = $person_obj->age;
Tukar tatasusunan kepada rentetan JSON
dalam PHP, kita juga boleh menggunakan fungsi json_encode()
untuk menukar tatasusunan kepada rentetan JSON. Sebagai contoh, kita boleh menggunakan kod berikut untuk menukar tatasusunan $person_array
kepada rentetan JSON:
$person_array_json = json_encode($person_array);
Kod di atas menukar tatasusunan $person_array
kepada rentetan JSON dan menyimpan hasilnya dalam $person_array_json
pembolehubah . Sama seperti langkah sebelumnya, nilai $person_array_json
ialah:
{"name":"张三","age":21}
Tukar tatasusunan kepada tatasusunan objek
Dalam PHP, kita boleh menggunakan fungsi json_decode()
untuk menukar rentetan JSON ialah tatasusunan. Jika tatasusunan ini mengandungi berbilang elemen, kita boleh menggunakan foreach
untuk mengulanginya dan menukarnya kepada objek.
Sebagai contoh, kita boleh menggunakan rentetan JSON berikut untuk mewakili berbilang Person
objek:
[ {"name":"张三","age":21}, {"name":"李四","age":22}, {"name":"王五","age":23} ]
Untuk menukar rentetan JSON ini kepada tatasusunan objek, kita boleh menggunakan kod berikut:
$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; }
Kod di atas mula-mula menggunakan fungsi json_decode()
untuk menukar rentetan $persons_json
JSON kepada tatasusunan. Seterusnya, kami mentakrifkan tatasusunan kosong $persons
dan menggunakan foreach
untuk menggelungkan elemen dalam $persons_array
, iaitu data setiap objek Person
. Untuk setiap $person_data
, kami mencipta objek Person
baharu dan menetapkan nilai sifatnya kepada nilai yang sepadan dalam $person_data
. Selepas itu, kami menambah objek pada tatasusunan $persons
, menghasilkan tatasusunan yang mengandungi berbilang objek Person
.
Kesimpulan
Artikel ini memperkenalkan cara untuk mendapatkan objek dalam PHP dan menukarnya kepada jenis data yang berbeza seperti rentetan JSON, tatasusunan, tatasusunan objek, dsb. Operasi ini sering digunakan dalam pembangunan web dan saya harap ia akan membantu pembaca.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan objek dan menukar jenis data dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!