JSON_ENCODE Mengekodkan Tatasusunan Jarang Secara Berbeza: Objek vs. Tatasusunan
Apabila bekerja dengan tatasusunan jarang, adalah penting untuk memahami cara json_encode berkelakuan. Tatasusunan jarang ialah yang mengandungi indeks yang tiada, mewujudkan jurang dalam jujukan berangka.
Isunya
Seperti yang ditunjukkan dalam coretan kod yang disediakan, json_encode pada mulanya mengekodkan yang jarang tatasusunan $a sebagai tatasusunan. Walau bagaimanapun, selepas mengalih keluar elemen menggunakan unset, panggilan json_encode seterusnya menghasilkan objek JSON.
Penjelasan
JSON tidak mempunyai cara untuk mewakili tatasusunan dengan indeks yang hilang. Akibatnya, json_encode kembali kepada pengekodan tatasusunan jarang sebagai objek JSON apabila ia menghadapi jurang tersebut.
Penyelesaian
Untuk mengelakkan tingkah laku ini dan memastikan tatasusunan jarang dikodkan secara konsisten sebagai tatasusunan, anda boleh menggunakan array_values($a) sebelum menggunakan json_encode. Fungsi ini mengindeks semula tatasusunan, membuang jurang dan memastikan output yang konsisten.
Atas ialah kandungan terperinci Mengapakah `json_encode` Melayan Tatasusunan Jarang Berbeza Bergantung pada Strukturnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!