Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengekodkan Tatasusunan PHP dengan Kekunci Angka Bukan Berturut-turut sebagai Tatasusunan JSON?
Apabila mengekod tatasusunan dengan kekunci angka menggunakan fungsi json_encode() dalam PHP, hasilnya ialah selalunya rentetan objek dengan kekunci dan bukannya rentetan tatasusunan. Ini boleh menjadi masalah apabila menjangkakan format Tatasusunan.
Penjelasan Masalah:
Dalam JavaScript, tatasusunan memerlukan kekunci angka berturut-turut. json_encode() akan mengeluarkan objek jika kunci dalam tatasusunan PHP bukan nombor berturut-turut.
Penyelesaian:
Untuk menyelesaikan isu ini tanpa menggunakan regex, kita boleh menggunakan array_values() berfungsi untuk membuang kekunci tatasusunan asal dan menggantikannya dengan penomboran berturut-turut berasaskan sifar. Ini memastikan bahawa hasil yang dikodkan ialah rentetan tatasusunan.
Contoh:
// Non-consecutive numeric keys in PHP array $array = array( 2 => array("Afghanistan", 32, 13), 4 => array("Albania", 32, 12) ); // Remove original keys with array_values() $out = array_values($array); // Encode the resulting array $json = json_encode($out); // Output: [["Afghanistan", 32, 13], ["Albania", 32, 12]]
Dengan menggunakan array_values(), kami memperoleh format Tatasusunan yang dikehendaki dalam JSON dan elakkan format objek dengan kekunci angka bukan berturut-turut.
Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan Tatasusunan PHP dengan Kekunci Angka Bukan Berturut-turut sebagai Tatasusunan JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!