Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar elemen yang sama dari dua tatasusunan dalam php

Bagaimana untuk mengalih keluar elemen yang sama dari dua tatasusunan dalam php

PHPz
PHPzasal
2023-04-24 09:07:12947semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat praktikal. Walau bagaimanapun, kita mungkin menghadapi beberapa kesukaran apabila kita perlu mengalih keluar elemen yang sama daripada dua tatasusunan. Artikel ini akan memperkenalkan tiga kaedah untuk mengalih keluar elemen yang sama daripada dua tatasusunan.

Kaedah 1: Gunakan fungsi array_intersect

Fungsi array_intersect ialah fungsi terbina dalam PHP, digunakan untuk mendapatkan persilangan antara dua atau lebih tatasusunan. Fungsi ini akan mengembalikan tatasusunan baharu yang mengandungi unsur-unsur yang terdapat dalam kedua-dua tatasusunan.

Atas dasar ini, kita boleh mengalih keluar elemen yang wujud bersama ini melalui fungsi array_diff. Fungsi array_diff fungsi adalah untuk mendapatkan perbezaan antara dua tatasusunan dan mengembalikan tatasusunan baru.

Contoh kod:

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$intersect_array = array_intersect($first_array, $second_array);
$result_array = array_diff($first_array, $intersect_array);

print_r($result_array);

Hasil jalankan:

Array
(
    [1] => banana
    [3] => peach
)

Kaedah 2: Gunakan fungsi array_unique

Fungsi array_unique ialah bina- dalam fungsi dalam PHP Digunakan untuk mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu.

Apabila mengalih keluar elemen yang sama dalam dua tatasusunan, kami boleh menggabungkan dua tatasusunan menjadi tatasusunan baharu, dan kemudian menggunakan fungsi array_unique untuk mengalih keluar pendua. Tatasusunan baharu selepas penyahduplikasian hanya mengandungi elemen yang berbeza daripada dua tatasusunan asal.

Contoh kod:

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$merged_array = array_merge($first_array, $second_array);
$result_array = array_unique($merged_array);

print_r($result_array);

Hasil jalankan:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => peach
    [5] => pear
    [6] => grape
)

Kaedah 3: Gunakan fungsi tersuai

Jika kita tidak mahu menggunakan Fungsi terbina dalam PHP, anda juga boleh menulis fungsi sendiri untuk mengalih keluar elemen yang sama dalam dua tatasusunan.

Pelaksanaan fungsi ini sangat mudah Anda hanya perlu melintasi tatasusunan pertama dan menentukan sama ada elemen itu muncul dalam tatasusunan kedua.

Contoh kod:

function remove_duplicate_elements($first_array, $second_array) {
    foreach ($first_array as $key => $value) {
        if (in_array($value, $second_array)) {
            unset($first_array[$key]);
        }
    }
    return $first_array;
}

$first_array = array('apple', 'banana', 'orange', 'peach');
$second_array = array('orange', 'pear', 'grape', 'apple');

$result_array = remove_duplicate_elements($first_array, $second_array);

print_r($result_array);

Hasil jalankan:

Array
(
    [1] => banana
    [3] => peach
)

Ringkasan

Dalam pengaturcaraan PHP, alih keluar item yang sama daripada dua tatasusunan Elemen adalah operasi biasa. Artikel ini memperkenalkan tiga kaedah untuk mencapai matlamat ini, iaitu menggunakan fungsi array_intersect dan array_diff, menggunakan fungsi array_unique dan fungsi tersuai. Kita boleh memilih kaedah yang berbeza mengikut keperluan sebenar. Pelaksanaan kaedah ini sangat mudah, tetapi pengoptimuman dan prestasi program perlu terus dipertingkatkan.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen yang sama dari dua 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