


Bagaimana untuk membandingkan dua tatasusunan untuk mencari nilai yang berbeza dalam PHP
Apr 19, 2023 am 10:09 AMDalam PHP, selalunya perlu melakukan operasi perbandingan pada tatasusunan, terutamanya untuk menganalisis dan membandingkan perbezaan antara dua tatasusunan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membandingkan dua tatasusunan dan mencari nilai berbeza mereka.
1. Permulaan dua tatasusunan
Andaikan terdapat dua tatasusunan $arr1 dan $arr2 yang perlu dibandingkan. Mula-mula kita mulakan melalui kaedah berikut:
$arr1 = array("a", "b", "c", "d"); $arr2 = array("b", "d", "f", "g");
2 Kaedah perbandingan dua tatasusunan
- array_diff()
Fungsi PHP sendiri boleh mencari nilai dalam tatasusunan pertama yang berbeza daripada tatasusunan yang lain. Kita boleh membandingkan dua tatasusunan, iaitu: array_diff()
$diff1 = array_diff($arr1, $arr2); $diff2 = array_diff($arr2, $arr1);
mewakili nilai dalam $arr1 yang berbeza daripada $arr2, dan $diff1
mewakili nilai dalam $arr2 yang berbeza daripada $ arr1 . Hasil daripada mengeluarkan dua tatasusunan di atas adalah seperti berikut: $diff2
$diff1 = ['a', 'c']; $diff2 = ['f', 'g'];
- array_merge()
untuk menggabungkan dua tatasusunan, dan kemudian gunakan array_merge()
Fungsi menyahduplikasi dan mengalih keluar pendua, dan nilai berbeza kedua-dua tatasusunan diperoleh. Pelaksanaan khusus adalah seperti berikut: array_unique()
$merge_arr = array_merge($arr1, $arr2); $unique_arr = array_unique($merge_arr); $diff_arr = array_diff($unique_arr, array_intersect($arr1, $arr2));
mewakili persilangan $arr1 dan $arr2, dan fungsi array_intersect($arr1, $arr2)
digunakan untuk mencari elemen yang muncul sekali sahaja dalam $unique_arr. Akhirnya array_diff()
ialah nilai berbeza antara dua tatasusunan. $diff_arr
untuk membalikkan salah satu tatasusunan supaya pasangan nilai kunci diterbalikkan, dan kemudian bandingkan. Kaedah pelaksanaan khusus adalah seperti berikut: array_flip()
$flip_arr2 = array_flip($arr2); $diff1 = array_diff_assoc($arr1, $flip_arr2); $diff2 = array_diff_assoc($arr2, array_flip($arr1));
digunakan untuk membandingkan sama ada kunci dan nilai dalam dua tatasusunan adalah sama. array_diff_assoc()
echo 'arr1 与 arr2 的差异为: '.implode(',', $diff1).'<br>'; echo 'arr2 与 arr1 的差异为: '.implode(',', $diff2).'<br>'; echo '两个数组不同值为: '.implode(',',$diff_arr).'<br>';
arr1 与 arr2 的差异为: a,c arr2 与 arr1 的差异为: f,g 两个数组不同值为: a,c,f,g
Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua tatasusunan untuk mencari nilai yang berbeza dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?
