Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php mengalih keluar tatasusunan lain daripada tatasusunan

php mengalih keluar tatasusunan lain daripada tatasusunan

WBOY
WBOYasal
2023-05-22 20:47:05782semak imbas

Dalam PHP, bekerja dengan tatasusunan ialah operasi biasa. Kadangkala, kita perlu mengalih keluar elemen daripada satu tatasusunan ke tatasusunan yang lain. Operasi jenis ini sangat biasa dalam pembangunan sebenar, kerana kadangkala semasa memproses tatasusunan, kita perlu menyaring atau menapisnya untuk mengalih keluar beberapa elemen yang tidak perlu atau elemen pendua untuk menjadikan tatasusunan lebih teratur dan bersih. Dalam artikel ini, kami akan meneroka cara mengalih keluar tatasusunan dalam tatasusunan lain dalam PHP.

1. Gunakan fungsi array_diff

PHP menyediakan fungsi yang sangat mudah untuk melaksanakan operasi ini, fungsi ini ialah array_diff. Fungsi ini mengambil 2 atau lebih tatasusunan sebagai argumen dan mengembalikan tatasusunan yang mengandungi semua nilai yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan lain. Berikut ialah penggunaan khusus bagi fungsi ini:

$a = array('apple', 'banana', 'orange');
$b = array('banana', 'kiwi');
$c = array_diff($a, $b);
print_r($c);

Hasil output ialah:

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

Fungsi ini akan mengecualikan semua nilai yang muncul dalam $b daripada $a, dan mengembalikan bakinya Susunan nilai.

2. Gunakan fungsi tersuai

Dalam beberapa senario, kita perlu mengalih keluar elemen daripada tatasusunan mengikut keperluan kita sendiri. Pada masa ini kita boleh menulis fungsi kita sendiri untuk melaksanakan fungsi ini. Berikut ialah contoh mudah:

function removeElement($originalArray, $removeArray) {
    foreach ($removeArray as $value) {
        $key = array_search($value, $originalArray);
        if ($key !== false) {
            unset($originalArray[$key]);
        }
    }
    return $originalArray;
}

$a = array('apple', 'banana', 'orange');
$b = array('banana', 'kiwi');
$c = removeElement($a, $b);
print_r($c);

Fungsi ini menerima dua tatasusunan sebagai parameter, mengalih keluar elemen dalam tatasusunan kedua daripada tatasusunan pertama dan mengembalikan tatasusunan baharu yang terdiri daripada nilai yang tinggal. Ambil perhatian bahawa di dalam fungsi ini kita menggunakan gelung foreach untuk melintasi elemen dalam tatasusunan $b, gunakan fungsi array_search untuk mencari kedudukan elemen dalam tatasusunan $a, jika elemen ditemui, gunakan fungsi yang tidak ditetapkan untuk mengalih keluarnya daripada tatasusunan $ Dialih keluar daripada a.

3. Gunakan fungsi array_filter

Selain fungsi array_diff, kita juga boleh menggunakan fungsi array_filter untuk melaksanakan penapisan tatasusunan. Fungsi ini menerima parameter tatasusunan dan parameter fungsi Parameter fungsi digunakan untuk menapis elemen tatasusunan. Berikut ialah contoh:

function filter($value) {
    $removeArray = array('banana', 'kiwi');
    return !in_array($value, $removeArray);  
}

$a = array('apple', 'banana', 'orange');
$c = array_filter($a, 'filter');
print_r($c);

Fungsi ini mentakrifkan fungsi penapis, yang menerima parameter nilai Kita boleh mentakrifkan tatasusunan removeArray di dalam fungsi, menyimpan elemen yang perlu kita alih keluar, dan kemudian gunakan fungsi in_array Determine. sama ada elemen dalam tatasusunan $a telah muncul dalam tatasusunan removeArray Jika ia telah muncul, ia akan mengembalikan palsu dan fungsi akan menapis keluar secara automatik. Akhir sekali, kami memanggil fungsi array_filter untuk menapis tatasusunan $a, dan hasilnya ialah tatasusunan dengan elemen dalam tatasusunan $b dialih keluar.

Tiga kaedah di atas adalah cara yang agak biasa untuk mengalih keluar elemen daripada tatasusunan Untuk penggunaan tertentu, anda boleh memilih kaedah yang sesuai mengikut keperluan anda sendiri. Pada masa yang sama, kita juga perlu memberi perhatian kepada beberapa isu biasa semasa memproses tatasusunan, seperti sama ada tatasusunan kosong atau tidak wujud, sama ada tatasusunan perlu diisih, dll. Ini semua perlu dipertimbangkan mengikut situasi pembangunan sebenar untuk tatasusunan Proses yang lebih baik.

Atas ialah kandungan terperinci php mengalih keluar tatasusunan lain daripada tatasusunan. 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