Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar tatasusunan php ke objek json

Bagaimana untuk menukar tatasusunan php ke objek json

PHPz
Lepaskan: 2023-04-17 17:14:55
asal
1071 orang telah melayarinya

Dalam PHP, tatasusunan ialah salah satu daripada struktur data biasa. Kini, disebabkan oleh peningkatan populariti pertukaran data dan pemisahan bahagian hadapan dan belakang, boleh dikatakan bahawa format data JSON digunakan secara meluas. Jadi bagaimana untuk menukar tatasusunan dalam PHP menjadi objek JSON? Artikel ini akan memberikan jawapannya.

1. Gunakan fungsi terbina dalam PHP json_encode()

PHP menyediakan fungsi json_encode() terbina dalam untuk menukar tatasusunan PHP kepada objek JSON. Fungsi json_encode() menerima pembolehubah PHP sebagai parameter dan mengekod pembolehubah itu ke dalam rentetan berformat JSON. Di bawah ialah contoh menggunakan fungsi json_encode() untuk menukar tatasusunan PHP kepada objek JSON.

$my_array = [1, 2, 'hello', 'world'];
 
$json_string = json_encode($my_array);
 
echo $json_string;
Salin selepas log masuk

Hasil keluaran kod di atas adalah seperti berikut:

[1,2,"hello","world"]
Salin selepas log masuk
Salin selepas log masuk

Perlu diambil perhatian bahawa parameter pilihan kedua $option bagi fungsi json_encode() lalai kepada 0, menunjukkan hasil keluaran Tiada lekukan dalam . Anda boleh menjadikan hasil lebih mudah dibaca dengan menetapkan parameter ini kepada JSON_PRETTY_PRINT.

2. Gunakan fungsi terbina dalam PHP json_decode()

bersesuaian dengan fungsi json_encode() PHP juga menyediakan fungsi json_decode() untuk menukar rentetan format JSON di bawah ialah contoh menggunakan fungsi json_decode() untuk menukar objek JSON kepada tatasusunan PHP.

$json_string = '[1,2,"hello","world"]';
 
$my_array = json_decode($json_string);
 
var_dump($my_array);
Salin selepas log masuk

Hasil output ialah:

array(4) { [0]=> int(1) [1]=> int(2) [2]=> string(5) "hello" [3]=> string(5) "world" }
Salin selepas log masuk

Perlu diambil perhatian bahawa fungsi json_decode() menukar rentetan JSON kepada objek stdClass secara lalai. Jika anda ingin menukarnya kepada tatasusunan PHP, anda boleh menetapkan parameter kedua fungsi json_decode() kepada benar, seperti berikut:

$json_string = '{"name": "Tom", "age": 18}';
 
$my_array = json_decode($json_string, true);
 
var_dump($my_array);
Salin selepas log masuk

Hasil output ialah:

array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(18) }
Salin selepas log masuk

3. Gunakan perpustakaan kelas PHP

Jika anda ingin melakukan operasi penyuntingan yang lebih maju pada data JSON, anda boleh menggunakan perpustakaan kelas JSON dalam PHP, seperti pecl-json atau jsonlint. Perpustakaan ini menyediakan lebih banyak pilihan dan fungsi daripada fungsi json_encode() dan json_decode().

Sebagai contoh, menggunakan perpustakaan kelas pecl-json, anda boleh menukar tatasusunan PHP kepada objek JSON dengan mudah:

use \JsonSerializable;
 
class MyArray implements JsonSerializable
{
    private $arr;
 
    public function __construct($arr = [])
    {
        $this->arr = $arr;
    }
 
    public function jsonSerialize()
    {
        return $this->arr;
    }
}
 
$my_array = new MyArray([1, 2, 'hello', 'world']);
 
$json_string = json_encode($my_array);
 
echo $json_string;
Salin selepas log masuk

Hasil output ialah:

[1,2,"hello","world"]
Salin selepas log masuk
Salin selepas log masuk

Diperlukan Ambil perhatian bahawa apabila menukar objek PHP kepada objek JSON, objek PHP mesti melaksanakan antara muka JsonSerializable. Selepas melaksanakan antara muka JsonSerializable, fungsi json_encode() akan memanggil kaedah antara muka jsonSerialize() untuk menukar objek PHP kepada objek JSON.

Kesimpulan

Artikel ini menerangkan cara menukar tatasusunan kepada objek JSON dalam PHP. Dengan menggunakan fungsi terbina dalam PHP json_encode() dan json_decode(), kita boleh menukar format data asas dengan mudah. Jika anda perlu melakukan operasi pengeditan data JSON yang lebih maju, anda boleh menggunakan perpustakaan kelas JSON dalam PHP. Mari lihat contoh kami sekali lagi. Tanpa menggunakan perpustakaan lain, anda boleh menukar tatasusunan kepada json seperti ini:

$my_array = [1, 2, 'hello', 'world'];

$json_string = json_encode($my_array);

$result_array = json_decode($json_string, true);
Salin selepas log masuk

Sangat mudah dan mudah!

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan php ke objek json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan