Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan algoritma persilangan dua tatasusunan

PHP melaksanakan algoritma persilangan dua tatasusunan

PHPz
PHPzasal
2023-05-07 17:44:08656semak imbas

Dalam PHP, sangat mudah untuk melaksanakan algoritma untuk mencari persilangan dua tatasusunan. Algoritma ini boleh membantu pembangun mendapatkan elemen biasa dua tatasusunan dengan cepat dan sering digunakan dalam senario seperti perbandingan silang data. Mari kita lihat bagaimana untuk melaksanakannya.

Pertama, cipta dua tatasusunan $a dan $b untuk dibandingkan:

$a = array(1, 2, 3, 4, 5);
$b = array(3, 4, 5, 6, 7);

PHP mempunyai fungsi terbina dalam untuk mencari persimpangan array_intersect(). Melalui fungsi ini, kita boleh mendapatkan persilangan dua tatasusunan:

$intersection = array_intersect($a, $b);

Dalam kod di atas, $intersection ialah persilangan dua tatasusunan. Mencetak nilai $intersection, kita dapat melihat bahawa hasilnya ialah:

array(3, 4, 5)

Selain menggunakan array_intersect(), kita juga boleh menggunakan kaedah penyelesaian gelung yang lebih universal. Proses pelaksanaan khusus adalah seperti berikut:

  1. Isytihar tatasusunan kosong $common.
  2. Gelung setiap elemen dalam tatasusunan $a dan tentukan sama ada ia wujud dalam tatasusunan $b.
  3. Jika ada, tambahkan elemen pada tatasusunan $common.

Berikut ialah contoh kod pelaksanaan khusus:

$a = array(1, 2, 3, 4, 5);
$b = array(3, 4, 5, 6, 7);

$common = array();

foreach ($a as $key => $value) {
    if (in_array($value, $b)) {
        $common[] = $value;
    }
}

print_r($common);

Kod di atas menggunakan fungsi in_array() untuk menentukan sama ada setiap elemen dalam tatasusunan $a wujud dalam $b tatasusunan . Jika ia wujud, tambahkannya pada tatasusunan $common. Akhir sekali, cetak nilai tatasusunan $common dan anda boleh mendapatkan hasil yang sama seperti fungsi array_intersect():

array(3, 4, 5)

Secara ringkasnya, terdapat dua cara untuk melaksanakan algoritma persilangan dua tatasusunan dalam PHP : gunakan fungsi array_intersect() dan Gunakan kaedah pertimbangan gelung. Jika jumlah data adalah kecil, adalah disyorkan untuk menggunakan fungsi array_intersect() kerana ia lebih cekap. Jika jumlah data adalah besar atau syarat pertimbangan tersuai diperlukan, adalah disyorkan untuk menggunakan kaedah pertimbangan gelung untuk bertindak balas secara fleksibel kepada pelbagai keperluan.

Atas ialah kandungan terperinci PHP melaksanakan algoritma persilangan dua 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