Array menghapus item dengan nilai php

Prosedur utama untuk melakukan penghapusan array berdasarkan nilai, tetapi bukan kunci, adalah menemukan nilainya terlebih dahulu. Kami dapat menghapus nilai setelah ditemukan. Kami akan menemukan nilainya menggunakan fungsi array_search() dan menghapusnya menggunakan fungsi unset(). Fungsi unset()_ mengatur ulang variabel. Sintaks yang benar untuk menggunakan fungsi-fungsi ini adalah sebagai berikut

array_search($value, $array, $strict);

Fungsi bawaan array_search() memiliki tiga parameter. Rincian parameternya adalah sebagai berikut

ParameterDeskripsi
unset($variable1, $variable2, ..., $variableN);
4wajibIni adalah nilai yang ingin kita cari dalam array.
unset($variable1, $variable2, ..., $variableN);
5wajibIni adalah array di mana kita akan mencari nilai yang diberikan.
unset($variable1, $variable2, ..., $variableN);
6opsionalJika parameter ini disetel ke
unset($variable1, $variable2, ..., $variableN);
7, maka fungsi juga akan mencari elemen identik dalam larik

Fungsi ini mengembalikan kunci dari nilai yang diberikan

Sintaks dari unset()

unset($variable1, $variable2, ..., $variableN);
_

Fungsi bawaan unset() memiliki beberapa parameter. Rincian parameternya adalah sebagai berikut

ParameterDeskripsi

0,

1,

2wajibIni adalah variabel atau struktur data yang ingin kita hapus. Setidaknya satu variabel adalah wajib

Fungsi ini tidak mengembalikan apa pun

Contoh Menghapus Nilai Dari Array di PHP

Program di bawah ini menunjukkan bagaimana kita dapat menggunakan fungsi-fungsi ini untuk melakukan penghapusan array berdasarkan nilai, tetapi bukan kunci, di PHP


_

Keluaran

Array before deletion: 
array(6) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}
Array after deletion: 
array(5) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}

Gunakan Fungsi _3 untuk Melakukan Penghapusan Larik dengan Nilai Bukan Kunci di PHP

Di PHP, kita juga bisa menggunakan fungsi


_3 untuk melakukan penghapusan array dengan nilai bukan kunci. Fungsi ini menghitung perbedaan dari array yang diberikan dengan array lain. Sintaks yang benar untuk menggunakan fungsi ini adalah sebagai berikut

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

";
print_r ($fruits);
echo "
"; unset($fruits[1]); echo "The array after deleting an element
"; 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()

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

 "John Doe", "email" => "[email protected]", "age" => 28);
echo "The array before deleting an element 
"; print_r ($person); echo "
"; unset($person["age"]); echo "The array after deleting an element
"; 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

Keluaran

Kunci untuk Semangka adalah. 4

Contoh

";
print_r ($laptops);
echo "
"; unset($laptops[array_search("Dell", $laptops)]); echo "The array after deleting an element
"; 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 item dari array berdasarkan nilai di PHP?

Jawab. Gunakan Fungsi array_search() .

Bagaimana cara menghapus elemen tertentu dari array di PHP?

Fungsi 'unset' dapat digunakan untuk menghapus elemen dari array dan menggunakan fungsi 'array_values' yang mengatur ulang indeks array.

Bagaimana Anda menghapus elemen dari array dengan nilai?

Jika Anda mengidentifikasi elemen yang akan dihapus berdasarkan nilainya, Anda dapat menghapus elemen dari indeksnya setelah mengidentifikasi indeks dengan metode indexOf(). Jika Anda ingin menggunakan nilai elemen yang Anda hapus, maka gunakan metode filter(), atau kombinasi metode indexOf() dan splice().

Bagaimana cara menghapus kunci dan nilai dalam array PHP?

Untuk menghapus kunci dan nilainya masing-masing dari larik asosiatif di PHP, Anda dapat menggunakan fungsi unset() . Seperti yang disarankan oleh nama fungsi, Anda menggunakan fungsi unset() untuk menghapus variabel tertentu atau dalam hal ini kunci array dengan nilainya.