Bagaimana untuk mengalih keluar elemen dari tatasusunan dalam php (5 kaedah)

PHPz
Lepaskan: 2023-04-12 10:38:52
asal
9105 orang telah melayarinya

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');
Salin selepas log masuk

Jika kita ingin memadamkan elemen ketiga dalam tatasusunan (iaitu elemen dengan indeks 2), kita boleh menggunakan fungsi unset():

unset($arr[2]);
Salin selepas log masuk

Dengan cara ini, elemen 'c' dalam tatasusunan dipadamkan. Anda juga boleh memadamkan berbilang elemen, contohnya:

unset($arr[1], $arr[3]);
Salin selepas log masuk

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);
Salin selepas log masuk

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 = [])
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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'));
Salin selepas log masuk

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);
Salin selepas log masuk

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';
});
Salin selepas log masuk

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]);
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!