Bagaimana Anda menghapus array asosiatif di php?

Pada artikel ini, Anda akan mempelajari cara menghapus elemen dari array menggunakan PHP. Kami akan membahas berbagai metode untuk melakukannya pada berbagai jenis array dengan banyak contoh

Sebelum melangkah lebih jauh, mari kita bahas bagaimana ketiga fungsi yang akan kita perlukan nanti bekerja

Fungsi unset()

Fungsi unset() adalah fungsi bawaan dalam PHP yang digunakan untuk menghapus/menghancurkan variabel yang diberikan atau sekumpulan variabel.

Sintaksis

tidak disetel (variabel,. );

Parameter

Fungsi membutuhkan setidaknya satu variabel sebagai parameter, tetapi Anda dapat meneruskan beberapa variabel yang ingin Anda hapus, pisahkan dengan koma

Fungsi unset() tidak memiliki nilai kembalian

Setelah variabel tidak disetel, program berperilaku seolah-olah variabel tersebut tidak pernah ada dan tidak lagi mengenalinya. Jika Anda menghapus variabel kemudian mencoba menggunakannya lagi di program Anda, sistem memberikan kesalahan variabel yang tidak terdefinisi

Jika fungsi unset() dipanggil di dalam fungsi yang ditentukan pengguna, ini hanya akan menghapus variabel lokal. Jika Anda ingin menghapus variabel global di dalam fungsi (yang diinisialisasi di luarnya), maka Anda harus menggunakan larik $GLOBALS untuk melakukannya.

Fungsi array_splice()

Fungsi array_splice() sudah ada di dalam PHP dan menghapus elemen yang dipilih dari array dan menggantinya dengan elemen baru.

Sintaksis

array_splice(array1, mulai, panjang, array2)

Parameter

ParameterRequirementDescriptionarray1RequiredMenentukan larik tempat Anda ingin menghapus atau mengganti elemen. startRequiredIni adalah nilai numerik yang menentukan di mana fungsi akan mulai menghapus elemen. Nilai numerik dari elemen pertama adalah 0. Jika disetel ke negatif, fungsi dimulai sejauh itu dari elemen terakhir. lengthOptionalIni adalah nilai numerik yang menentukan berapa banyak elemen yang akan dihapus dari array. Jika diatur ke negatif, fungsi berhenti sejauh itu dari elemen terakhir. Jika tidak disetel, fungsi akan menghapus semua elemen, dimulai dari posisi yang disetel oleh parameter awal. array2OptionalIni adalah array dengan elemen yang akan dimasukkan ke dalam array asli. Itu bisa berupa string jika hanya satu elemen

Fungsi array_values()

array_values() adalah fungsi PHP bawaan yang mengindeks ulang array dan mengembalikannya dengan kunci numerik, mulai dari 0 .

Sintaksis

nilai_array(array)

Larik adalah parameter wajib yang menentukan larik yang akan dikerjakan

Cara menghapus elemen dari array di PHP

Ada beberapa metode untuk menghapus elemen tertentu dari array di PHP. Di sini, akan mencakup dua metode seperti yang diuraikan di bawah ini

  1. Menggunakan fungsi unset()
  2. Menggunakan fungsi array_splice()

Metode 1. Menggunakan fungsi unset()

Fungsi unset() dapat digunakan untuk menghancurkan seluruh array dalam variabel, atau elemen tertentu dalam array menggunakan indeks atau kuncinya

Berbeda dengan variabel biasa di mana kita hanya meneruskan nama variabel ke fungsi, untuk menghapus elemen tertentu dari array dan membiarkan elemen lainnya tetap utuh, kita harus memasukkan indeks elemen atau kunci ke variabel array saat meneruskannya ke unset.

Contoh 1

Menghapus elemen dari array yang diindeks secara numerik berdasarkan indeksnya

<?php
$fruits = array("Apple", "Mango", "Avocado", "Banana", "Watermelon", "Passion");
echo "The array before deleting an element <br>";
print_r ($fruits);
echo "<br>";

unset($fruits[1]);
echo "The array after deleting an element <br>";
print_r ($fruits);

Keluaran

Array sebelum menghapus elemen
Array (    [0] => Apple
[1] => Mangga
[2] => Alpukat
[3] => Pisang
[4] => Semangka
[5] => Gairah
)
Array setelah menghapus elemen
Array (    [0] => Apple
[2] => Alpukat
[3] => Pisang
[4] => Semangka
[5] => Gairah
)

Indeks array dimulai dari 0. Jadi elemen array dengan indeks 1 sebenarnya adalah elemen kedua dalam array. Kami telah meneruskan nama array dengan indeks 1 ke fungsi unset(). Dari output, Anda dapat melihat elemen kedua (Mangga) telah dihapus dari array

Satu hal yang dapat Anda perhatikan dari contoh di atas adalah bahwa setelah menghapus elemen dengan indeks 1, fungsi menjaga indeks lainnya tidak tersentuh, yaitu indeks satu hilang dengan array yang dihasilkan dimulai dengan indeks 0 diikuti oleh 2. Fungsi unset() tidak mengindeks ulang array setelah menghapus elemen dari array yang diindeks secara numerik

Untuk memperbaikinya dan membuat array yang dihasilkan diindeks ulang, yang perlu Anda lakukan adalah meneruskan array ke fungsi array_values()

Contoh 2

Pengindeksan ulang array numerik menggunakan fungsi array_values() setelah menghapus elemen dengan fungsi unset()

<?php
$laptops = array("Apple", "HP", "Toshiba", "Dell", "Lenovo");
unset($laptops[2]);
array_values($laptops);
print_r($laptops);
_

Keluaran

Array sebelum menghapus elemen
Array (    [0] => Apple
[1] => Hp
[2] => dell
[3] => Lenovo
)

Seperti yang Anda lihat dari output, kami telah menghapus "Toshiba" yang menempati indeks 2 dari array. Setelah meneruskan larik ke fungsi array_values() , ia telah diindeks ulang agar "Dell" bergeser dari indeks 3 ke 2 dan "Lenovo" dari indeks 4 ke 3

Contoh 3

Menghapus elemen dari array asosiatif berdasarkan kuncinya

<?php
$person = array("name" => "John Doe", "email" => "[email protected]", "age" => 28);
echo "The array before deleting an element <br>";
print_r ($person);
echo "<br>";

unset($person["age"]);
echo "The array after deleting an element <br>";
print_r ($person);

Keluaran

Array sebelum menghapus elemen
Larik (    [nama] => John Doe
[email] => johndoe@gmail. com
[umur] => 28
)
Array setelah menghapus elemen
Larik (    [nama] => John Doe
[email] => johndoe@gmail. com
)

Seperti yang Anda lihat, elemen usia telah dihapus dari larik

Jika Anda mengetahui nilai elemen array dan tidak mengetahui kunci/indeksnya tetapi Anda ingin menghapusnya, Anda dapat melakukannya terlebih dahulu menggunakan array_search() function to get its key, then use that key to delete it.

Anda meneruskan dua parameter ke fungsi array_search() di mana yang pertama adalah nilai yang kuncinya ingin Anda ketahui, dan yang kedua adalah larik aktual tempat Anda mencari nilainya. Fungsi mengembalikan kunci/indeks elemen array dengan nilai itu

<?php
$fruits = array("Apple", "Mango", "Avocado", "Banana", "Watermelon", "Passion");
echo "The key for Watermelon is: ".array_search("Watermelon", $fruits);

Keluaran

Kunci untuk Semangka adalah. 4

Contoh

<?php
$laptops = array("Apple", "HP", "Toshiba", "Dell", "Lenovo");
echo "The array before deleting an element <br>";
print_r ($laptops);
echo "<br>";

unset($laptops[array_search("Dell", $laptops)]);
echo "The array after deleting an element <br>";
print_r ($laptops);
_

Keluaran

Array sebelum menghapus elemen
Array (    [0] => Apple
[1] => Hp
[2] => Toshiba
[3] => dell
[4] => Lenovo
)
Array setelah menghapus elemen
Array (    [0] => Apple
[1] => Hp
[2] => Toshiba
[4] => Lenovo
)

Dari contoh di atas, kita telah menggunakan fungsi array_search() dengan nilai "Dell" untuk mencari indeks dari elemen array yang cocok dengannya, kemudian menggunakan indeks tersebut untuk menghapus elemen menggunakan fungsi unset(). Anda dapat dari output itu berfungsi karena "Dell" telah dihapus dari array

Metode 2. Menggunakan fungsi array_splice()

Fungsi ini menghapus rentang tertentu dari elemen array dan mengindeks ulang array secara otomatis

Berbeda dengan fungsi unset() yang membiarkan indeks array tidak tersentuh, Anda dapat melihat dari contoh di atas array_splice() telah mengindeks ulang elemen array setelah penghapusan

Bagaimana cara menghapus dari array di PHP?

Jika Anda ingin menghapus hanya satu elemen array, Anda dapat menggunakan unset() atau sebagai alternatif \array_splice() . Jika Anda mengetahui nilainya dan tidak mengetahui kunci untuk menghapus elemen, Anda dapat menggunakan \array_search() untuk mendapatkan kuncinya.

Bagaimana cara menghapus semua elemen dari array PHP?

Untuk menghapus semua kemunculan elemen atau beberapa elemen dari array – kita dapat menggunakan fungsi array_diff() , kita cukup membuat sebuah .

Bagaimana cara menghapus pasangan nilai kunci di PHP?

Untuk menghapus pasangan kunci/nilai, panggil fungsi unset() padanya .

Bagaimana cara menghapus elemen array pertama di PHP?

Untuk menghapus elemen atau nilai pertama dari array, fungsi array_shift() digunakan . Fungsi ini juga mengembalikan elemen array yang dihapus dan mengembalikan NULL jika array kosong.