Saya punya beberapa masalah dengan array. Saya punya satu array yang ingin saya modifikasi seperti di bawah ini. Saya ingin menghapus elemen (elemen) itu dengan indeks dan kemudian indeks ulang array. Apa itu mungkin?
$foo = array(
'whatever', // [0]
'foo', // [1]
'bar' // [2]
);
$foo2 = array(
'foo', // [0], before [1]
'bar' // [1], before [2]
);
unset($foo[0], $foo[3], $bar[1]);
array_splice
, dan itu tidak berhasil untuk indeks ke-0 dan ke-1.http://php.net/manual/en/function.array-splice.php
sumber
Anda lebih baik menggunakan
array_shift()
. Itu akan mengembalikan elemen pertama array, menghapusnya dari array dan mengindeks ulang array. Semua dalam satu metode yang efisien.sumber
array_pop()
akan mengambil dan menghapus elemen array terakhir jika Anda membutuhkannya. Tapi, tidak ada fungsi yang dapat dibuat untuk bertindak pada elemen di tengah array.sumber
Saya tidak tahu mengapa ini sedang downvoting, tetapi jika ada yang repot untuk mencobanya, Anda akan melihat bahwa itu berhasil. Menggunakan sortir pada array menugaskan kembali kunci array. Satu-satunya kelemahan adalah memilah nilai. Karena kunci jelas akan dipindahkan, bahkan dengan
array_values
, tidak masalah adalah nilai sedang diurutkan atau tidak.sumber
Coba dengan:
sumber
Selain jawaban xzyfer
Fungsinya
Menggunakan
Hasil
sumber
Jika Anda menggunakan
array_merge
, ini akan mengindeks ulang tombol. Status manual:http://php.net/manual/en/function.array-merge.php
Di sinilah saya menemukan jawaban asli.
http://board.phpbuilder.com/showthread.php?10299961-Reset-index-on-array-after-unset ()
sumber