Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadam berbilang elemen tatasusunan dalam php

Bagaimana untuk memadam berbilang elemen tatasusunan dalam php

PHPz
PHPzasal
2023-04-19 09:18:36709semak imbas

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);

Hasil output:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)

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);

Hasil keluaran:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)

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);

Hasil keluaran:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)

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!

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