Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mendapatkan objek dan menukar jenis data dalam PHP

Bagaimana untuk mendapatkan objek dan menukar jenis data dalam PHP

PHPz
PHPzasal
2023-04-18 15:21:57712semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn