Semasa proses pembangunan menggunakan PHP, selalunya perlu untuk beroperasi pada tatasusunan Salah satu operasi biasa ialah menanyakan persilangan dua tatasusunan. Sebagai contoh, jika kita mempunyai dua senarai pelajar, satu untuk kelas A dan satu untuk kelas B, kita mungkin perlu menanyakan senarai pelajar dalam kedua-dua kelas.
Dalam PHP, menanyakan persilangan dua tatasusunan adalah sangat mudah dan boleh dicapai menggunakan fungsi array_intersect()
. Fungsi ini menerima dua atau lebih tatasusunan sebagai argumen dan mengembalikan tatasusunan baharu yang mengandungi semua nilai yang berlaku serentak dalam tatasusunan input. Berikut adalah contoh:
$studentsA = array("Alice", "Bob", "Charlie", "David"); $studentsB = array("Charlie", "David", "Eve", "Frank"); $commonStudents = array_intersect($studentsA, $studentsB); print_r($commonStudents);
Jalankan kod di atas, output adalah seperti berikut:
Array ( [2] => Charlie [3] => David )
Dalam kod di atas, kami mencipta dua senarai pelajar, iaitu pelajar dalam kelas A dan kelas B Senaraikan. Kami menggunakan fungsi array_intersect()
untuk mendapatkan persilangan dua tatasusunan ini dan menyimpan hasilnya dalam pembolehubah $commonStudents
. Akhir sekali, kami menggunakan fungsi print_r()
untuk mencetak kandungan pembolehubah $commonStudents
.
Seperti yang dinyatakan di atas, fungsi array_intersect()
menerima dua atau lebih tatasusunan sebagai parameter. Jika kita perlu menanyakan persilangan berbilang tatasusunan, kita hanya perlu menambah lebih banyak tatasusunan pada panggilan fungsi. Contohnya:
$studentsA = array("Alice", "Bob", "Charlie", "David"); $studentsB = array("Charlie", "David", "Eve", "Frank"); $studentsC = array("Alice", "Eve", "Grace", "Helen"); $commonStudents = array_intersect($studentsA, $studentsB, $studentsC); print_r($commonStudents);
Jalankan kod di atas, output adalah seperti berikut:
Array ( [0] => Alice )
Dalam kod di atas, kami mencipta tiga senarai pelajar, iaitu senarai pelajar kelas A, B dan C. Kami menggunakan fungsi array_intersect()
untuk mendapatkan persilangan tiga tatasusunan ini dan menyimpan hasilnya dalam pembolehubah $commonStudents
. Akhir sekali, kami menggunakan fungsi print_r()
untuk mencetak kandungan pembolehubah $commonStudents
.
Satu perkara yang perlu diambil perhatian apabila menggunakan fungsi array_intersect()
ialah fungsi ini hanya membandingkan nilai tatasusunan, bukan kekunci. Dalam erti kata lain, jika dua tatasusunan mempunyai nilai yang sama tetapi kunci yang berbeza, fungsi array_intersect()
akan menganggapnya sebagai elemen yang berbeza juga. Jika kita perlu membandingkan dua tatasusunan mengikut kekunci, kita boleh menggunakan fungsi array_intersect_key()
.
Di atas menerangkan cara untuk menanyakan persilangan dua tatasusunan dalam PHP, dan juga memperkenalkan cara untuk menanyakan persilangan berbilang tatasusunan. Menggunakan fungsi ini boleh membantu kami mengendalikan tatasusunan dengan lebih mudah, sekali gus meningkatkan kecekapan pembangunan kami.
Atas ialah kandungan terperinci Bagaimana untuk menanyakan persilangan dua tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!