@ 2astalavista, itu tidak berhasil: print_r($arr)=>Array ( [0] => a, [1] => b, [-1] => c )
laurent
@ returnthis.lau_ hal ini Anda harus menggunakan untuk loop - mulai dari -1 - untuk membuatnya bekerja: for ($i = -1; $i < count($a)-1; $i++)seperti yang ditunjukkan oleh tautan yang direferensikan, tetapi mudah untuk dilupakan, jadi saya tidak suka solusi itu lagi.
Bagaimana jika Anda membutuhkan kunci literal, bukan numerik?
Evan
4
@ Evan, dokumentasi untuk array_unshiftmengatakan yang berikutAll numerical array keys will be modified to start counting from zero while literal keys won't be touched.
derek
1
Ada dua masalah: 1) mengindeks ulang array 2) tidak dapat menambahkan item dengan indeks.
Nabi KAZ
2
Jika Anda memiliki susunan asosiatif atau perlu menyimpan kunci, lihat contoh pengguna di sini: php.net/manual/en/function.array-unshift.php ada beberapa contoh yang baik tentang bagaimana menyelesaikan ini!
Vallier
112
Dalam hal array asosiatif atau array bernomor di mana Anda tidak ingin mengubah kunci array:
Perhatian! "Operator + mengembalikan array kanan yang ditambahkan ke array kiri; untuk kunci yang ada di kedua array, elemen dari array kiri akan digunakan, dan elemen yang cocok dari array kanan akan menjadi diabaikan. " - Lihat: stackoverflow.com/a/2140094/3411766
cottton
Solusinya bagus karena dapat menambahkan item dengan indeks, dan tidak mengindeks ulang array; Tetapi baru saja mencatat tentang menghapus item di array sebelah kanan, jika ada indeks yang sama di array sebelah kiri.
^ OBE: "W3Schools sebagian besar telah menyelesaikan masalah ini dan mengatasi sebagian besar masalah yang dialami oleh para pengembang yang bertanda tangan di bawah ini." ~ W3Fools.com
Andrew Kozak
4
Gunakan array_unshift () untuk menyisipkan elemen pertama dalam array.
User array_shift () untuk menghapus elemen pertama dari array.
$arr[-1] = $item;
Ditemukan di sini: stackoverflow.com/a/15252657/669677print_r($arr)
=>Array ( [0] => a, [1] => b, [-1] => c )
for ($i = -1; $i < count($a)-1; $i++)
seperti yang ditunjukkan oleh tautan yang direferensikan, tetapi mudah untuk dilupakan, jadi saya tidak suka solusi itu lagi.Jawaban:
Gunakan array_unshift ($ array, $ item);
akan memberimu
sumber
array_unshift
mengatakan yang berikutAll numerical array keys will be modified to start counting from zero while literal keys won't be touched.
Dalam hal array asosiatif atau array bernomor di mana Anda tidak ingin mengubah kunci array:
array_merge
tidak berfungsi karena selalu mengindeks ulang array.sumber
Gunakan fungsi
array_unshift
sumber
Masukkan item di awal array asosiatif dengan string / kunci indeks kustom
HASIL
sumber
Ini akan membantu
http://www.w3schools.com/php/func_array_unshift.asp
sumber
Gunakan array_unshift () untuk menyisipkan elemen pertama dalam array.
User array_shift () untuk menghapus elemen pertama dari array.
sumber
Atau Anda dapat menggunakan array sementara dan kemudian menghapus yang asli jika Anda ingin mengubahnya saat siklus:
hasilnya adalah:
dan ketika melakukannya saat siklus, Anda harus membersihkan
$temp_array
setelah menambahkan item ke array.sumber
Dengan indeks khusus:
sumber
Untuk array asosiatif Anda bisa menggunakan penggabungan.
sumber