Rumah > pembangunan bahagian belakang > masalah PHP > php item yang berbeza daripada 2 tatasusunan

php item yang berbeza daripada 2 tatasusunan

WBOY
Lepaskan: 2023-05-05 20:55:06
asal
579 orang telah melayarinya

PHP ialah bahasa pengaturcaraan yang sangat popular, dan kami sering menghadapi pelbagai masalah yang memerlukan tatasusunan sebagai jenis data. Salah satu soalan biasa ialah bagaimana untuk mencari item yang berbeza dalam dua tatasusunan. Artikel ini akan memperkenalkan tiga kaedah biasa untuk menyelesaikan masalah ini.

Kaedah 1: Gunakan fungsi array_diff()

PHP menyediakan fungsi yang sangat mudah untuk membandingkan item yang berbeza bagi dua tatasusunan Fungsi ini ialah array_diff().

Sebagai contoh, kami mempunyai dua tatasusunan, $arr1 dan $arr2:

$arr1 = array('apple', 'banana', 'orange', 'pear');
$arr2 = array('apple', 'banana', 'kiwi', 'grape');
Salin selepas log masuk
Salin selepas log masuk

Kami ingin mengetahui item yang berbeza dalam dua tatasusunan, kemudian kami boleh menggunakan fungsi array_diff() As berikut:

$diff = array_diff($arr1, $arr2);
print_r($diff);
Salin selepas log masuk

Hasil output ialah:

Array
(
    [2] => orange
    [3] => pear
)
Salin selepas log masuk

Kaedah 2: Gunakan fungsi array_diff_key()

Jika kita ingin membandingkan kekunci tatasusunan dan bukannya nilai , kita boleh menggunakan fungsi array_diff_key() untuk menyelesaikan masalah.

Sebagai contoh, kita mempunyai dua tatasusunan, $arr1 dan $arr2, dengan kekunci $arr1 ialah 'a', 'b', 'c' dan kekunci $arr2 ialah 'a', 'd', 'e', ​​​​kami ingin mengetahui kunci yang berbeza dalam dua tatasusunan, kemudian kami boleh menggunakan fungsi array_diff_key() seperti berikut:

$arr1 = array('a'=>1, 'b'=>2, 'c'=>3);
$arr2 = array('a'=>1, 'd'=>4, 'e'=>5);
$diff = array_diff_key($arr1, $arr2);
print_r($diff);
Salin selepas log masuk

Hasil output ialah:

Array
(
    [b] => 2
    [c] => 3
)
Salin selepas log masuk

kaedah Tiga: Gunakan gelung foreach

Selain menggunakan fungsi pratakrif yang disediakan oleh PHP, kami juga boleh menggunakan gelung foreach untuk membandingkan item berbeza dua tatasusunan.

Sebagai contoh, kami mempunyai dua tatasusunan, $arr1 dan $arr2:

$arr1 = array('apple', 'banana', 'orange', 'pear');
$arr2 = array('apple', 'banana', 'kiwi', 'grape');
Salin selepas log masuk
Salin selepas log masuk

Kami ingin mengetahui item yang berbeza dalam dua tatasusunan, kemudian kami boleh menggunakan gelung foreach untuk mencapainya Seperti berikut:

$diff = array();
foreach($arr1 as $val) {
    if (!in_array($val, $arr2)) {
        $diff[] = $val;
    }
}
foreach($arr2 as $val) {
    if (!in_array($val, $arr1)) {
        $diff[] = $val;
    }
}
print_r($diff);
Salin selepas log masuk

Hasil keluaran ialah:

Array
(
    [2] => orange
    [3] => pear
    [4] => kiwi
    [5] => grape
)
Salin selepas log masuk

Ringkasan

Di atas ialah tiga kaedah yang biasa digunakan untuk mencari item berbeza dalam dua tatasusunan ciri-ciri dan senario yang berkenaan perlu dipilih dan digunakan mengikut situasi sebenar. Tidak kira kaedah mana yang digunakan, semasa melakukan perbandingan tatasusunan, anda harus memberi perhatian kepada faktor seperti jenis dan kuantiti kunci dan nilai tatasusunan untuk memastikan ketepatan hasil perbandingan.

Atas ialah kandungan terperinci php item yang berbeza daripada 2 tatasusunan. 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