Artikel ini membahas opsi yang berbeda untuk menghapus elemen dari array. PHP memiliki banyak fungsi yang membantu dalam menghapus elemen dari array. Karena kami memiliki banyak opsi untuk dijelajahi, mari langsung ke ini tanpa membuang waktu
<?php $names = ['Micheal','Andrei','Susi','Ron','Brian', 'Arthur', 'Bob']; unset($names[0]); //Removes the name Micheal from the array. Zero indicates the index of Micheal in the array. $names = array_values($names); //Just for reindexing the array. /* Array ( [0] => Andrei [1] => Susi [2] => Ron [3] => Brian [4] => Arthur [5] => Bob ) */ ?>Hapus kunci elemen dari array PHP dengan unset
Fungsi unset PHP menghancurkan variabel tertentu atau elemen array.
unset(mixed $var, mixed ...$vars): void
Fungsi mendapatkan satu atau lebih argumen dan menghancurkan semuanya sekaligus. Jadi, fungsi ini sangat berguna. Contoh berikut menunjukkan hal itu
<?php $names = ['Micheal','Andrei','Susi','Ron','Brian', 'Arthur', 'Bob']; unset($names[0]); //Removes the name Micheal from the array. Zero indicates the index of Micheal in the array. /* Array ( [1] => Andrei [2] => Susi [3] => Ron [4] => Brian [5] => Arthur [6] => Bob ) */ ?> _Fungsi unset menghapus elemen pertama 'Micheal'. Namun, itu tidak mengindeks ulang array. Sayangnya, tidak mungkin fungsi ini dapat melakukan pengindeksan ulang meskipun ada solusinya dengan biaya tambahan untuk panggilan fungsi tambahan – array_values
<?php $names = ['Micheal','Andrei','Susi','Ron','Brian', 'Arthur', 'Bob']; unset($names[0]); //Removes the name Micheal from the array. Zero indicates the index of Micheal in the array. $names = array_values($names); //Just for reindexing the array. /* Array ( [0] => Andrei [1] => Susi [2] => Ron [3] => Brian [4] => Arthur [5] => Bob ) */ ?>Selain itu, kuncinya di-hardcode untuk nilai 'Micheal'. Ada jalan keluar untuk itu seperti yang ditunjukkan contoh berikut
<?php $names = ['Micheal','Andrei', 'Ron', 'Susi','Ron','Ron','Brian', 'Arthur', 'Bob', 'Ron']; foreach(array_keys($names, 'Ron') as $key) { unset($names[$key]); } /* Array ( [0] => Micheal [1] => Andrei [3] => Susi [6] => Brian [7] => Arthur [8] => Bob ) */ ?>Nama 'Ron' digandakan beberapa kali tetapi contohnya menggunakan kunci_array dengan argumen pencarian. Fungsi dengan argumen pencarian mengembalikan array kunci yang memiliki nilai 'Ron'
Jadi, fungsi unset menghapus elemen array tetapi itu bukan solusi terbaik. Untungnya, ada fungsi yang menyelamatkan kita dari semua kerepotan. Jadi, mari kita lihat selanjutnya
Hapus elemen dari array dengan array_diff
PHP array_diff menghitung perbedaan array. Contoh di sini akan membuatnya jelas.
array_diff(array $array, array ...$arrays): array
Fungsi menghitung perbedaan <?php
$names = ['Micheal','Andrei','Susi','Ron','Brian', 'Arthur', 'Bob'];
unset($names[0]); //Removes the name Micheal from the array. Zero indicates the index of Micheal in the array.
/*
Array
(
[1] => Andrei
[2] => Susi
[3] => Ron
[4] => Brian
[5] => Arthur
[6] => Bob
)
*/
?>
_0 dengan sisa <?php
$names = ['Micheal','Andrei','Susi','Ron','Brian', 'Arthur', 'Bob'];
unset($names[0]); //Removes the name Micheal from the array. Zero indicates the index of Micheal in the array.
/*
Array
(
[1] => Andrei
[2] => Susi
[3] => Ron
[4] => Brian
[5] => Arthur
[6] => Bob
)
*/
?>
1. Ini bekerja seperti operasi perbedaan dari teori himpunan dalam matematika - hal sekolah menengah, ingat?
Jadi, mari kita lihat bagaimana array_diff membantu menghapus elemen dari array
<?php $names = ['Micheal','Andrei','Susi','Ron','Brian', 'Arthur', 'Bob', 'Ron', 'Ron']; $names = array_diff($names, ['Ron', 'Susi']); /* Array ( [0] => Micheal [1] => Andrei [4] => Brian [5] => Arthur [6] => Bob ) */ ?> _Voila. Fungsinya melakukan semua pekerjaan berat. Kami tidak memerlukan loop eksplisit untuk menghapus elemen duplikat dan kami juga tidak memiliki panggilan fungsi tambahan untuk mengindeks ulang array
Hapus elemen dari array dengan array_diff_key
Sekarang seperti yang telah kita pelajari tentang array_diff, inilah saat yang tepat untuk melihat array_diff_key juga. Array_diff_key melakukan fungsi yang sama dengan array_diff kecuali ia melakukan pencocokan pada kunci daripada nilai
Mari kita lihat kembali contoh terakhir tetapi balikkan pasangan kunci dan nilai dalam larik
<?php $names = ['Micheal'=> 0,'Andrei' => 1,'Susi' => 2,'Ron' => 3, "Ron" => 4]; $names = array_diff($names, ['Ron'=>100]); print_r($names); /* Array ( [Micheal] => 42 [Andrei] => 22 [Susi] => 18 ) */ ?>Jadi, fungsinya menghapus nilai dengan kunci "Ron". Kuncinya penting di sini, bukan nilainya
Hapus elemen dari array dengan array_diff_assoc
PHP array_diif_assoc adalah fungsi serupa lainnya dengan perbedaan yang cocok dengan keduanya – kunci dan nilai.
Mari kita lihat contoh dengan array_diff_assoc untuk melihat perbedaannya
<?php $names = ['Micheal','Andrei','Susi','Ron', 'Micheal']; $names = array_diff_assoc($names, ['Micheal']); print_r($names); /* Array ( [1] => Andrei [2] => Susi [3] => Ron [4] => Micheal ) */ ?> _Jadi, fungsi menghapus nilai 'Micheal' dengan kunci 0 dan mempertahankan nilai 'Micheal' dengan kunci 4. Itu karena argumen kedua mendapatkan array yang menyertakan 'Micheal' dengan kunci 1. Jadi pencocokan terjadi sebagai, 'hapus nilai Micheal pada kunci 0'
Keluarga array_diff memiliki fungsi lain array_diff_uassoc tetapi kami tidak akan membahasnya karena kami telah menyimpang sedikit dari hidangan utama
Hapus elemen dari array dengan array_splice
PHP array_splice adalah fungsi lain yang membantu menghapus elemen dari array dan secara opsional menggantinya dengan beberapa elemen lain.
<?php $names = ['Micheal','Andrei','Susi','Ron','Brian', 'Arthur', 'Bob']; unset($names[0]); //Removes the name Micheal from the array. Zero indicates the index of Micheal in the array. /* Array ( [1] => Andrei [2] => Susi [3] => Ron [4] => Brian [5] => Arthur [6] => Bob ) */ ?> _2
Hanya argumen offset dan panjang yang perlu kita ketahui untuk dihapus karena kita tidak bermaksud menggantinya. Namun, memahami fungsi secara keseluruhan bisa jadi merepotkan bagi pemula.
FuelingPHP memiliki artikel mendalam tentang PHP array_splice. Ini mencakup penjelasan dan visual yang jelas untuk membantu memahami fungsi berdasarkan kombinasi berbeda dari nilai offset dan panjang
Contoh berikut menggunakan fungsi ini untuk menghapus elemen dari array.
<?php $names = ['Micheal','Andrei','Susi','Ron', 'Dutch']; array_splice($names, 1 , 1); print_r($names); /* Array ( [0] => Micheal [1] => Susi [2] => Ron [3] => Dutch ) */ ?>Sempurna. Ini menghapus elemen 'Andrei' dari array. Perhatikan bahwa itu juga mengindeks ulang array
Kesimpulan
Cukup banyak tentang artikel ini. Artikel tersebut mencakup berbagai opsi untuk menghapus elemen dari array. Fungsi yang tidak disetel berfungsi dengan baik tetapi tidak dapat mengindeks ulang array. Fungsi array_diff sangat membantu karena mengindeks ulang array dan juga menghapus nilai duplikat.
Artikel ini juga menyertakan contoh lebih banyak fungsi yang mirip dengan array_diff – array_diff_key dan array_diff_assoc. Terakhir, kita memiliki fungsi array_splice yang memerlukan nilai offset dan panjang untuk menghapus elemen atau sebagian dari array
Semoga artikel ini bermanfaat bagi Anda. Jika Anda ingin melihat lebih banyak artikel dan tutorial tentang PHP, pantau terus di FuelingPHP
Ingin mempelajari lebih lanjut tentang PHP?
Kami memiliki banyak artikel menarik yang berhubungan dengan PHP. Anda dapat menjelajahi ini untuk mempelajari lebih lanjut tentang PHP
- Cara membaca dan menulis file CSV di PHP
- Intro ke Symfony Doctrine PHP ArrayCollection
- Bagaimana cara menambahkan header ke file dengan fputcsv
Pos terkait
- ← Cara Menyortir Array Objek berdasarkan Properti di PHP
- Cara memperbarui kunci tertentu dalam array multidimensi di PHP →
Tulis Kode Lebih Baik Lebih Cepat
Klik di sini untuk mendapatkan rahasia teratas 'Menjadi Rockstar PHP Dev dalam 7 Hari' kami dikirimkan ke kotak masuk Anda
Daftar
Keajaiban Stefanus
Hai. Saya harap Anda menikmati artikel ini. Saya telah mengembangkan situs web dan perangkat lunak secara profesional selama lebih dari 20 tahun. Saya memulai FuelingPHP sebagai cara untuk memberikan kembali kepada komunitas sumber terbuka yang membantu saya dapat hidup dengan nyaman membangun hal-hal yang saya sukai