+1: Terima kasih atas bantuannya. PHP newb di sini, tetapi perlu dicatat bahwa jika Anda mencoba untuk melakukan pengeditan ini dalam satu foreachloop, maka Anda perlu menambahkan sebuah ampersand ke variabel enumerasi Anda untuk memungkinkan akses tulis.
FreeAsInBeer
1
Berikut adalah tautan ke solusi yang menggambarkan komentar oleh tautan @FreeAsInBeer sehubungan dengan ampersand.
// To unset an element from array using Key:
unset($arr["key2"]);
var_dump($arr);// output: array(3) { ["key1"]=> string(6) "value1" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
Untuk menghapus elemen dengan value:
// remove an element by value:
$arr = array_diff($arr,["value1"]);
var_dump($arr);// output: array(2) { ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
Jawaban:
Kamu bisa memakai
unset
:Contoh:
Keluaran:
sumber
foreach
loop, maka Anda perlu menambahkan sebuah ampersand ke variabel enumerasi Anda untuk memungkinkan akses tulis.Gunakan
unset()
:sumber
Gunakan fungsi ini untuk menghapus array kunci tertentu tanpa mengubah array asli:
Param pertama melewati semua larik, param kedua mengatur larik kunci untuk dihapus.
Sebagai contoh:
sumber
$output = array_except($array_1, ['color', 'fixed']);
Menggunakan
unset
:sumber
Pertimbangkan array ini:
Untuk menghapus elemen menggunakan array
key
:Untuk menghapus elemen dengan
value
:baca lebih lanjut tentang array_diff: http://php.net/manual/en/function.array-diff.php
Untuk menghapus elemen dengan menggunakan
index
:baca lebih lanjut tentang array_splice: http://php.net/manual/en/function.array-splice.php
sumber
Anda mungkin memerlukan dua loop atau lebih tergantung pada array Anda:
sumber
foreach ($key1
sepertinya salah. Apakah maksud Andaforeach ($values
?