Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengalih keluar elemen dari tatasusunan dalam php (5 kaedah)
Dalam PHP, kita selalunya perlu mengalih keluar elemen tertentu dalam tatasusunan untuk memenuhi keperluan sebenar. Jadi, bagaimana untuk mengalih keluar elemen daripada tatasusunan? Artikel ini akan merangkumi beberapa kaedah yang berbeza.
1 Gunakan fungsi unset()
Fungsi unset() boleh memusnahkan pembolehubah yang ditentukan dan dengan itu mengalih keluar elemen dalam tatasusunan. Sebagai contoh, kita mempunyai tatasusunan berikut:
$arr = array('a', 'b', 'c', 'd', 'e');
Jika kita ingin memadamkan elemen ketiga dalam tatasusunan (iaitu elemen dengan indeks 2), kita boleh menggunakan fungsi unset():
unset($arr[2]);
Dengan cara ini, elemen 'c' dalam tatasusunan dipadamkan. Anda juga boleh memadamkan berbilang elemen, contohnya:
unset($arr[1], $arr[3]);
Ini akan memadamkan elemen kedua dan keempat dalam tatasusunan (elemen dengan indeks 1 dan 3). Perlu diingat bahawa menggunakan fungsi unset() hanya memadamkan elemen dalam tatasusunan, tetapi tidak menyusun semula nilai utama tatasusunan Oleh itu, lubang akan ditinggalkan dalam tatasusunan. Jika anda perlu mengindeks semula tatasusunan, anda boleh menggunakan fungsi array_values(), contohnya:
$arr = array_values($arr);
2. Gunakan fungsi array_splice() Fungsi
array_splice() boleh memadam elemen dalam tatasusunan dan Gantikan elemen yang dipadam. Sintaks fungsi ini adalah seperti berikut:
array_splice(array &$input, int $offset [, int $length = count($input)], mixed $replacement = [])
di mana $input ialah tatasusunan yang akan dikendalikan; $offset ialah indeks elemen pertama yang akan dialih keluar (atau diganti) (jika negatif, daripada penghujung tatasusunan mula mengira); $length ialah bilangan elemen yang akan dialih keluar (jika tidak dinyatakan, semua elemen dari $offset hingga penghujung tatasusunan dibuang); .
Kod sampel adalah seperti berikut:
$arr = array('a', 'b', 'c', 'd', 'e'); array_splice($arr, 2, 1);
Dengan cara ini, elemen 'c' dalam tatasusunan dipadamkan. Jika anda ingin memadamkan berbilang elemen, anda boleh menetapkan $length kepada bilangan elemen yang ingin anda padamkan, contohnya:
array_splice($arr, 1, 2);
Dengan cara ini, elemen kedua dan ketiga dalam tatasusunan dipadamkan. Jika anda ingin menggantikan elemen yang dipadam, anda boleh menetapkan parameter $replacement kepada nilai yang akan diganti, contohnya:
array_splice($arr, 1, 2, array('x', 'y', 'z'));
Dengan cara ini, elemen kedua dan ketiga dalam tatasusunan digantikan dengan 'x' , 'y' dan 'z'.
3. Gunakan fungsi array_diff()
Fungsi array_diff() boleh mengembalikan perbezaan dua atau lebih tatasusunan. Kita boleh meletakkan elemen yang ingin kita padamkan ke dalam tatasusunan baharu dan kemudian menggunakan fungsi array_diff() untuk mengalih keluar elemen. Kod sampel adalah seperti berikut:
$arr = array('a', 'b', 'c', 'd', 'e'); $remove = array('c', 'd'); $result = array_diff($arr, $remove);
Dengan cara ini, hanya 'a', 'b' dan 'e' yang tinggal dalam tatasusunan $result. Adalah penting untuk ambil perhatian bahawa fungsi array_diff() membandingkan nilai dalam dua tatasusunan, bukan kunci, jadi jika terdapat nilai yang sama dalam tatasusunan, hanya satu nilai yang akan dikekalkan.
4. Gunakan fungsi array_filter()
Fungsi array_filter() boleh menapis elemen dalam tatasusunan mengikut keadaan yang ditetapkan. Kita boleh menggunakan fungsi ini untuk mengalih keluar elemen tertentu daripada tatasusunan. Kod sampel adalah seperti berikut:
$arr = array('a', 'b', 'c', 'd', 'e'); $new_arr = array_filter($arr, function($value) { return $value != 'c' && $value != 'd'; });
Di sini fungsi tanpa nama digunakan sebagai fungsi panggil balik, yang mengembalikan semua elemen yang tidak sama dengan 'c' dan 'd'. Ini hanya meninggalkan 'a', 'b' dan 'e' dalam tatasusunan $new_arr.
5 Gunakan fungsi unset() digabungkan dengan gelung
Kaedah terakhir ialah menggunakan fungsi unset() digabungkan dengan gelung untuk mengalih keluar elemen daripada tatasusunan. Operasi khusus ialah: melintasi tatasusunan, cari elemen untuk dipadamkan, dan kemudian gunakan fungsi unset() untuk memadamkannya. Kod sampel adalah seperti berikut:
$arr = array('a', 'b', 'c', 'd', 'e'); foreach ($arr as $key => $value) { if ($value == 'c' || $value == 'd') { unset($arr[$key]); } }
Dengan cara ini, elemen 'c' dan 'd' dalam tatasusunan dipadamkan. Perlu diingat bahawa apabila menggunakan fungsi unset() untuk memadamkan elemen tatasusunan, nilai kunci tatasusunan akan ditukar Oleh itu, anda perlu menggunakan hantaran rujukan semasa melintasi tatasusunan. Jika anda perlu mengindeks semula tatasusunan, anda boleh menggunakan fungsi array_values().
Ringkasan
Artikel ini menerangkan beberapa kaedah berbeza yang boleh digunakan untuk mengalih keluar elemen daripada tatasusunan PHP. Kaedah yang berbeza sesuai untuk senario yang berbeza Memilih kaedah yang sesuai dapat merealisasikan keperluan dengan lebih cekap. Jika anda mempunyai kaedah lain yang bagus, sila tinggalkan mesej di ruangan komen untuk dikongsi!
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen dari tatasusunan dalam php (5 kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!