Apabila berurusan dengan tatasusunan PHP dan JSON, adalah penting untuk memahami perbezaan antara tatasusunan JSON dan objek JSON . Tatasusunan JSON diwakili menggunakan kurungan segi empat sama, manakala objek JSON menggunakan pendakap kerinting.
Dalam tatasusunan PHP anda, kekuncinya ialah angka (0 dan 2). Walau bagaimanapun, untuk dikodkan sebagai tatasusunan JSON, tatasusunan PHP mesti mempunyai kunci berjujukan bermula dari 0.
Tingkah laku lalai json_encode adalah untuk mengekod tatasusunan anda sebagai objek JSON, itulah sebabnya anda mendapat hasilnya anda menerangkan. Untuk mendapatkan tatasusunan JSON sebaliknya, anda perlu mengindeks semula tatasusunan PHP anda secara berurutan menggunakan array_values().
$input = [ [ 'id' => 0, 'name' => 'name1', 'short_name' => 'n1' ], [ 'id' => 2, 'name' => 'name2', 'short_name' => 'n2' ] ]; $output = json_encode(array_values($input));
Selepas pengindeksan semula, output json_encode akan menjadi tatasusunan JSON yang sah, seperti yang dikehendaki:
[ { "id": 0, "name": "name1", "short_name": "n1" }, { "id": 2, "name": "name2", "short_name": "n2" } ]
Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan Tatasusunan PHP sebagai Tatasusunan JSON Daripada Objek JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!