Apa metode terbaik untuk memindahkan elemen apa pun dari array asosiatif ke awal array?
Misalnya, saya memiliki array berikut:
$myArray = array(
'two' => 'Blah Blah Blah 2',
'three' => 'Blah Blah Blah 3',
'one' => 'Blah Blah Blah 1',
'four' => 'Blah Blah Blah 4',
'five' => 'Blah Blah Blah 5',
);
Yang ingin saya lakukan adalah memindahkan elemen 'satu' ke awal dan berakhir dengan array berikut:
$myArray = array(
'one' => 'Blah Blah Blah 1',
'two' => 'Blah Blah Blah 2',
'three' => 'Blah Blah Blah 3',
'four' => 'Blah Blah Blah 4',
'five' => 'Blah Blah Blah 5',
);
Jika Anda memiliki kunci array numerik dan ingin mengindeks ulang kunci array, akan lebih baik untuk memasukkannya
array_merge
seperti ini:sumber
Agak terlambat, tetapi jika ada yang membutuhkannya, saya membuat cuplikan kecil ini.
Cukup sesuaikan dengan kebutuhan Anda, atau gunakan dan hapus pengaturan indeks untuk bergerak. Bekerja dengan array asosiatif juga.
sumber
Berikut satu baris sederhana lainnya yang menyelesaikan ini menggunakan
array_splice()
:sumber
jika Anda memiliki 2 larik, pertama memiliki elemen untuk dipindahkan ke atas larik kedua elemen, Anda dapat menggunakan
Berikut adalah contoh kode:
sumber
Ada fungsi di komentar manual PHP untuk array_unshift yang dapat digunakan untuk menambahkan elemen, dengan kunci, ke awal array:
Batalkan setel elemen dan masukkan kembali dengan fungsi di atas:
Pendekatan yang lebih umum mungkin menggunakan uksort untuk mengurutkan array Anda berdasarkan kunci dan menyediakan fungsi penyortiran Anda sendiri.
sumber
return = array_reverse($arr, true);