Andaikan saya mempunyai ini:
$arr = []; $arr[0] = 'second'; $arr[-1] = 'first';
Bagaimana untuk menukarnya kepada$arr[0 => 'first', 1 => 'second']
Ini adalah yang terbaik yang saya hasilkan:
$new = []; foreach ($arr as $key => $value) { $new[$key + 1] = $value; } ksort($new);
Tetapi seperti tatasusunan dalam php, saya tertanya-tanya sama ada sebenarnya terdapat fungsi terbina dalam mudah yang boleh saya gunakan?
Saya tidak boleh tidak tertanya-tanya sama ada matlamat anda hanyalah untuk memasukkan nilai pada permulaan tatasusunan, mungkin itu yang anda cari
array_unshift()?Jadi bukannya
...lepas tu susun, boleh buat ni
Ini akan berada di indeks
0处插入'first'dan gerakkan setiap item sedia ada yang diindeks secara berangka dalam tatasusunan naik satu.Gunakan ksort untuk mengisih tatasusunan, kemudian gunakanarray_valuespadanya. Ia akan mengindeks semula kunci bermula dari 0: