Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadam elemen dari tatasusunan dalam PHP

Bagaimana untuk memadam elemen dari tatasusunan dalam PHP

PHPz
PHPzasal
2023-04-10 09:35:08513semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah struktur data yang sangat penting. Saiz tatasusunan adalah berubah-ubah, dan elemen boleh terus ditambah kepadanya. Walau bagaimanapun, kadangkala perlu memadamkan elemen daripada tatasusunan untuk memastikan integriti data tatasusunan.

Artikel ini akan memperkenalkan cara memadam elemen dalam tatasusunan dalam PHP. Kami akan meneroka kaedah mengalih keluar elemen tunggal dan berbilang elemen, dan membincangkan kebaikan dan keburukan setiap kaedah.

1. Padamkan satu elemen

Dalam PHP, anda boleh menggunakan fungsi tidak ditetapkan untuk memadamkan satu elemen dalam tatasusunan. Fungsi unset ialah fungsi khas dalam PHP yang digunakan untuk memadam pembolehubah. Ia memadam satu atau lebih pembolehubah dan membebaskan ruang memori yang mereka duduki.

Berikut ialah contoh kod yang menggunakan fungsi tidak ditetapkan untuk memadamkan satu elemen:

<?php
$numbers = array(1, 2, 3, 4, 5);
unset($numbers[2]);
print_r($numbers);
?>

Jalankan kod di atas, outputnya adalah seperti berikut:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [4] => 5
)

Dalam kod, kami mentakrifkan Tatasusunan $nombor yang mengandungi 5 elemen. Kemudian, kami menggunakan fungsi unset untuk memadamkan elemen ketiga dalam tatasusunan $numbers (elemen dengan indeks 2). Akhir sekali, kami menggunakan fungsi print_r untuk mengeluarkan tatasusunan $numbers selepas mengalih keluar elemen.

Perlu diambil perhatian bahawa apabila menggunakan fungsi unset untuk memadam elemen dalam tatasusunan, subskrip elemen tidak akan wujud lagi. Dalam contoh di atas, kami telah memadamkan elemen dengan indeks 2, jadi elemen dalam tatasusunan $numbers mempunyai indeks 0, 1, 3, 4.

2. Padamkan berbilang elemen

Dalam PHP, untuk memadamkan berbilang elemen tatasusunan pada masa yang sama, anda boleh menggunakan fungsi penapis tatasusunan (array_filter). Fungsi penapis tatasusunan digunakan untuk mengulangi elemen dalam tatasusunan, melaksanakan fungsi panggil balik, dan kemudian menggunakan nilai pulangan fungsi panggil balik sebagai elemen tatasusunan baharu. Elemen yang fungsi panggil baliknya mengembalikan palsu akan dipadamkan.

Berikut ialah contoh kod yang menggunakan fungsi penapis tatasusunan untuk memadamkan berbilang elemen:

<?php
$numbers = array(1, 2, 3, 4, 5);
$indexes = array(1, 3);

$filtered = array_filter($numbers, function($key) use ($indexes) {
    return !in_array($key, $indexes);
}, ARRAY_FILTER_USE_KEY);

print_r($filtered);
?>

Jalankan kod di atas, output adalah seperti berikut:

Array
(
    [0] => 1
    [2] => 3
    [4] => 5
)

Dalam kod, Kami mentakrifkan tatasusunan $numbers, yang mengandungi 5 elemen dan tatasusunan $indexes, yang mengandungi indeks unsur yang akan dipadamkan. Kemudian, kami menggunakan fungsi penapis tatasusunan untuk melintasi tatasusunan $numbers, menapis elemen yang memenuhi syarat, dan akhirnya mengembalikan tatasusunan baharu.

Menggunakan fungsi penapis tatasusunan untuk memadamkan berbilang elemen boleh menjadi lebih fleksibel dan memutuskan elemen yang hendak dipadamkan berdasarkan pelbagai syarat.

Ringkasan:

  • Dalam PHP, gunakan fungsi tidak ditetapkan untuk memadamkan satu elemen tatasusunan.
  • Gunakan fungsi penapis tatasusunan untuk memadamkan berbilang elemen tatasusunan.
  • Apabila memadamkan satu elemen, ia adalah cekap untuk menggunakan fungsi yang tidak ditetapkan, tetapi berbilang elemen tidak boleh dipadamkan pada masa yang sama.
  • Apabila memadamkan berbilang elemen, menggunakan fungsi penapis tatasusunan adalah lebih fleksibel dan anda boleh memadamkan berbilang elemen serentak berdasarkan berbilang syarat.

Atas ialah kandungan terperinci Bagaimana untuk memadam elemen dari tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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