Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesan jika dua tatasusunan bersilang dalam php

Bagaimana untuk mengesan jika dua tatasusunan bersilang dalam php

PHPz
PHPzasal
2023-04-20 09:08:23947semak imbas

Apabila menulis kod PHP, kita selalunya perlu menyemak sama ada terdapat persilangan antara dua tatasusunan. Dalam artikel ini, kita akan belajar bagaimana untuk mengesan persilangan antara dua tatasusunan menggunakan PHP.

Fungsi terbina dalam PHP array_intersect() boleh digunakan untuk mengembalikan elemen yang wujud bersama dalam dua tatasusunan.

Sintaks asas fungsi ini adalah seperti berikut:

array_intersect(array1,array2,array3...)

Antaranya, tatasusunan1, tatasusunan2, tatasusunan3, dll. ialah parameter tatasusunan yang perlu dikira untuk persilangan.

Berikut ialah contoh mudah cara menggunakan fungsi array_intersect() untuk mengesan persilangan antara dua tatasusunan.

$colors1 = array("red", "green", "blue", "yellow");
$colors2 = array("purple", "green", "yellow", "white");

$intersection = array_intersect($colors1, $colors2);

print_r($intersection);

Dalam contoh di atas, kami mencipta dua tatasusunan $colors1 dan $colors2, setiap satu mengandungi beberapa nilai warna. Gunakan fungsi array_intersect() untuk mengira persilangan kedua-dua tatasusunan ini dan simpan hasilnya dalam pembolehubah $intersection.

Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan keputusan Anda boleh melihat bahawa elemen biasa dalam dua tatasusunan ialah "hijau" dan "kuning".

Selain menggunakan fungsi array_intersect(), kita juga boleh menggunakan fungsi array_intersect_assoc().

Fungsi ini serupa dengan fungsi array_intersect(), tetapi ia juga membandingkan pasangan nilai kunci bagi elemen. Iaitu, elemen akan dimasukkan dalam persimpangan hanya jika kunci dan nilai yang sama wujud dalam kedua-dua tatasusunan.

Berikut ialah contoh kod:

$colors1 = array("red" => "FF0000", "green" => "00FF00", "blue" => "0000FF", "yellow" => "FFFF00");
$colors2 = array("purple" => "800080", "green" => "008000", "yellow" => "FFFF00", "white" => "FFFFFF");

$intersection = array_intersect_assoc($colors1, $colors2);

print_r($intersection);

Dalam kod di atas, kami mencipta dua tatasusunan $colors1 dan $colors2 dan memperuntukkan RGB yang sepadan kepada nilai warna dalam tatasusunan Kod warna. Kami kemudian mengira persilangan dua tatasusunan ini menggunakan fungsi array_intersect_assoc() dan menyimpan hasilnya dalam pembolehubah $intersection.

Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan keputusan Anda boleh melihat bahawa elemen dengan kunci dan nilai yang sama dalam kedua-dua tatasusunan adalah "kuning".

Dalam pembangunan sebenar, kami biasanya menggunakan pernyataan if untuk mengesan sama ada terdapat persilangan antara dua tatasusunan.

Berikut ialah contoh kod:

$colors1 = array("red", "green", "blue", "yellow");
$colors2 = array("purple", "green", "yellow", "white");

$intersection = array_intersect($colors1, $colors2);

if (count($intersection) > 0) {
    echo "These arrays have intersections!";
} else {
    echo "These arrays do not have intersections.";
}

Dalam kod di atas, kita mula-mula menggunakan fungsi array_intersect() untuk mengira persilangan dua tatasusunan dan menyimpan hasilnya dalam $ pembolehubah persilangan. Kemudian, kami menggunakan fungsi count() untuk mengesan bilangan elemen dalam tatasusunan $intersection. Jika terdapat sekurang-kurangnya satu elemen, kami akan mengeluarkan mesej gesaan " Tatasusunan ini mempunyai persimpangan!", jika tidak, kami akan mengeluarkan " Tatasusunan ini tidak mempunyai persimpangan.".

Ringkasan

Mengesan sama ada terdapat persilangan antara dua tatasusunan ialah salah satu tugas biasa dalam pengaturcaraan PHP. PHP menyediakan fungsi array_intersect() dan array_intersect_assoc() untuk mengira persilangan antara dua tatasusunan. Selain itu, pembangun juga boleh menggunakan pernyataan if untuk menentukan sama ada terdapat persilangan antara dua tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk mengesan jika dua tatasusunan bersilang 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