Cara mengembalikan array index ke 0 secara berurutan PHP

Mereset array key atau array index dengan PHP ternyata sangatlah mudah. Mari kita lihat selengkapnya.
82  
       

Jika telah melakukan penghapusan terhadap array berindex di PHP, maka biasanya array key atau array index nya tidak akan berurutan. Hal ini tentu akan menyebabkan error apabila kita akan melakukan array traversal dengan menggunakan index sebagai kuncinya.

Fungsi array_values

Cara termudah untuk me-reset array index atau array key kembali ke 0 adalah dengan menggunakan fungsi array_values. Berikut ini adalah contohnya.

//inisialisasi data siswa
$siswas = array();
$siswas[0] = 'Andi';
$siswas[1] = 'Siti';
$siswas[2] = 'Iman';
$siswas[3] = 'Loan';
$siswas[4] = 'Dini';

//menampilkan isi siswa dengan print_r
echo '
';
print_r($siswas);
echo '

';

//mengeluarkan siswa yang bernama Iman yang berada pada index ke-2 dari siswas
unset($siswas[2]);

//tampilkan hasilnya maka hasilnya adalah
echo '

';
print_r($siswas);
echo '

';

//kemudian akan direset dengan array_values
$siswas = array_values($siswas);
echo '

';
print_r($siswas);
echo '

';

 
Dalam contoh kode ini kalau dijelaskan dalam cerita kurang lebih seperti ini.

Ada sekumpulan siswa (array siswas) berjumlah 5 data. Tiba-tiba kita ingin menghapus siswa dengan nama Iman. Data iman ada dalam array siswa berada pada index ke-2. Untuk menghapusnya maka kita akan menggunakan fungsi unset($siswas[2]). Kemudian, iman telah terhapus, namun arraynya jadi tidak berurutan. Untuk mengurut index nya kembali cukup gunakan fungsi array_values($siswas). Dan array siswas akan kembali normal kembali.

array_values untuk Asosiatif array

Penggunaan array_values untuk assosiatif array akan menghasilkan array index yang dimulai dari 0. Sementara array key yang sebelumnya akan diganti oleh indeks array.
 
Berikut ini adalah contoh kodenya.

//inisialisasi data produk
$produk = array();
$produk['nama'] = 'Rolciz Keju Gulung';
$produk['rasa'] = 'Cokelat Oreo';
$produk['ukuran'] = 'Standing Puch 15pcs';

//menampilkan isi produk dengan print_r
echo '
';
print_r($produk);
echo '

';

//kemudian akan array key akan direset dengan array_values
$produk= array_values($produk);
echo '

';
print_r($produk);
echo '

';

 
Dari hasil percobaan dengan kode ini, maka akan memunculkan array produk yang tadinya ada key nama, ukuran, dan rasa akan digantikan dengan array index 0,1,2. Kesimpulannya adalah, fungsi array_values akan memaksa assosiatif array menjadi indexed array.

Demikian. Semoga membantu.