Bagaimana untuk memadam berbilang elemen tatasusunan dalam php

PHPz
Lepaskan: 2023-04-19 09:44:38
asal
670 orang telah melayarinya

Memadamkan elemen tatasusunan ialah tugas biasa dalam PHP. Biasanya, kita hanya perlu memadamkan elemen tatasusunan dan kita boleh menggunakan fungsi unset() untuk beroperasi. Walau bagaimanapun, jika anda ingin memadamkan berbilang elemen tatasusunan, anda memerlukan sesuatu yang berbeza.

Artikel ini akan memperkenalkan cara menggunakan kaedah berbeza untuk memadamkan berbilang elemen tatasusunan.

Kaedah 1: Gunakan gelung unset dan foreach

Ini adalah salah satu cara yang paling biasa. Anda boleh menggunakan gelung foreach untuk mengulangi semua nilai kunci tatasusunan yang akan dipadamkan dan menggunakan fungsi unset() untuk memadamkannya.

Contohnya:

$myArray = array('apple', 'banana', 'orange', 'pear', 'kiwi', 'watermelon');

$keysToDelete = array(1, 3, 5);

foreach($keysToDelete as $key){
    unset($myArray[$key]);
}

print_r($myArray);
Salin selepas log masuk

Hasil output:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan array_diff_key()

array_diff_key() fungsi untuk membandingkan dua Nilai utama tatasusunan mengembalikan tatasusunan yang terdiri daripada koleksi dengan nilai kunci yang berbeza.

Kita boleh membandingkan tatasusunan asal dengan tatasusunan yang mengandungi hanya nilai kunci untuk dipadamkan, dan kemudian buat tatasusunan baharu menggunakan hasil yang dikembalikan.

Contohnya:

$myArray = array('apple', 'banana', 'orange', 'pear', 'kiwi', 'watermelon');

$keysToDelete = array(1, 3, 5);

$newArray = array_diff_key($myArray, array_flip($keysToDelete));

print_r($newArray);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan fungsi array_flip() untuk menukar nilai kunci dalam tatasusunan $keysToDelete kepada nama Kunci, kerana fungsi array_diff_key() memerlukan tatasusunan yang mengandungi nama kunci.

Kaedah 3: Gunakan array_filter()

Fungsi array_filter() digunakan untuk menapis elemen dalam tatasusunan. Kita boleh menggunakan ini untuk menapis nilai utama yang akan dipadamkan dan mencipta tatasusunan baharu.

Contohnya:

$myArray = array('apple', 'banana', 'orange', 'pear', 'kiwi', 'watermelon');

$keysToDelete = array(1, 3, 5);

$newArray = array_filter($myArray, function($key) use ($keysToDelete){
    return !in_array($key, $keysToDelete);
}, ARRAY_FILTER_USE_KEY);

print_r($newArray);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan fungsi tanpa nama sebagai parameter kedua array_filter(), Fungsi ini mengekalkan elemen dengan nilai pulangan true dalam tatasusunan, jika tidak, ia akan ditapis keluar. Kami menggunakan fungsi in_array() untuk menyemak sama ada nilai kunci elemen berada dalam tatasusunan yang hendak dipadamkan, jika tidak, ia kembali benar.

Kesimpulan

Dalam PHP, terdapat banyak cara untuk memadamkan berbilang elemen tatasusunan, dan kita boleh memilih kaedah yang hendak digunakan mengikut situasi sebenar. Artikel ini memperkenalkan tiga kaedah biasa: menggunakan gelung unset dan foreach, menggunakan fungsi array_diff_key() dan menggunakan fungsi array_filter().

Kaedah ini boleh menyelesaikan masalah memadamkan berbilang elemen tatasusunan. Walau bagaimanapun, sila ambil perhatian bahawa menggunakan fungsi unset() boleh menyebabkan kekunci tatasusunan disusun semula Jika anda perlu mengekalkan susunan kekunci, anda perlu menggunakan kaedah lain.

Atas ialah kandungan terperinci Bagaimana untuk memadam berbilang elemen tatasusunan dalam php. 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!