Menukar Tatasusunan PHP kepada Tatasusunan JSON Menggunakan json_encode
Apabila bekerja dengan tatasusunan PHP, adalah penting untuk memahami bagaimana tatasusunan tersebut diwakili dalam JSON apabila menggunakan json_encode. Secara lalai, tatasusunan PHP dikodkan sebagai objek JSON apabila kuncinya tidak berjujukan.
Pertimbangkan tatasusunan PHP berikut:
$input = [ [ "id" => 0, "name" => "name1", "short_name" => "n1" ], [ "id" => 2, "name" => "name2", "short_name" => "n2" ] ];
Apabila cuba mengekod tatasusunan ini menggunakan json_encode, hasilnya akan menjadi objek JSON berikut:
{ "0": { "id": 0, "name": "name1", "short_name": "n1" }, "2": { "id": 2, "name": "name2", "short_name": "n2" } }
Tingkah laku ini berlaku kerana kekunci tatasusunan tidak berurutan (0 dan 2). Untuk mengekod tatasusunan sebagai tatasusunan JSON, semua kunci mestilah berjujukan.
Penyelesaian: Pengindeksan semula dengan array_values
Untuk menukar tatasusunan kepada format berjujukan, gunakan array_values fungsi:
$output = json_encode(array_values($input));
Ini mengindeks semula tatasusunan, bermula dengan 0, memastikan kunci berurutan. JSON yang terhasil menjadi tatasusunan:
[ { "id": 0, "name": "name1", "short_name": "n1" }, { "id": 2, "name": "name2", "short_name": "n2" } ]
Dengan memahami perwakilan tatasusunan PHP dalam JSON dan menggunakan nilai_tatasusunan untuk pengindeksan semula berurutan, anda boleh berjaya mengekod tatasusunan PHP sebagai tatasusunan JSON menggunakan json_encode.
Atas ialah kandungan terperinci Bagaimanakah Saya Menukar Tatasusunan PHP kepada Tatasusunan JSON Menggunakan `json_encode`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!