Dalam pembangunan PHP, persilangan tatasusunan ialah operasi biasa. Walau bagaimanapun, fungsi persilangan tatasusunan yang disediakan oleh PHP hanya boleh mengendalikan kes dua tatasusunan. Apabila kita perlu memproses persilangan berbilang tatasusunan, kita perlu menyesuaikan operasi persimpangan.
Artikel ini akan memperkenalkan cara menyesuaikan persimpangan tatasusunan PHP dan menyediakan kod pelaksanaan.
Kita perlu memproses persilangan berbilang tatasusunan Sebagai contoh, terdapat empat tatasusunan berikut:
$arr1 = array(1, 2, 3); $arr2 = array(2, 3, 4); $arr3 = array(3, 4, 5); $arr4 = array(4, 5, 6);
Sekarang kita perlukan. untuk menyelesaikan empat Persilangan tatasusunan ini.
Kita boleh mencapai persimpangan tatasusunan melalui langkah berikut:
2.1 Simpan elemen semua tatasusunan ke dalam tatasusunan baharu, dan kemudian Laksanakan operasi penyahduaan pada tatasusunan baharu.
2.2 Kira bilangan kali setiap elemen muncul dalam tatasusunan asal Jika nombor itu sama dengan bilangan tatasusunan asal, ini bermakna elemen itu telah muncul dalam semua tatasusunan asal, dan ia akan ditambah kepada. tatasusunan hasil.
Berikut ialah kod pelaksanaan khusus:
function array_intersect_multi() { $arrays = func_get_args(); $counts = array_count_values(call_user_func_array('array_merge', $arrays)); $intersected_array = array(); $arrays_count = count($arrays); foreach ($counts as $value => $count) { if ($count === $arrays_count) { $intersected_array[] = $value; } } return $intersected_array; }
Fungsi array_intersect_multi()
dalam kod di atas boleh melaksanakan operasi persilangan bagi pelbagai tatasusunan.
Fungsi ini mempunyai satu parameter input, iaitu koleksi tatasusunan ialah tatasusunan yang terdiri daripada berbilang tatasusunan.
Fungsi ini akan menambah elemen semua tatasusunan dalam koleksi tatasusunan kepada tatasusunan baharu dan melaksanakan operasi penyahduplikasian pada tatasusunan baharu.
Kemudian, fungsi akan mengira bilangan kali setiap elemen muncul dalam tatasusunan asal Jika nombor itu sama dengan bilangan tatasusunan asal, ini bermakna elemen itu telah muncul dalam semua tatasusunan asal. akan ditambahkan pada tatasusunan hasil.
Akhir sekali, fungsi mengembalikan hasil persilangan tatasusunan.
Kita boleh menggunakan fungsi di atas untuk menyelesaikan persilangan empat tatasusunan Contohnya adalah seperti berikut:
$arr1 = array(1, 2, 3); $arr2 = array(2, 3, 4); $arr3 = array(3, 4, 5); $arr4 = array(4, 5, 6); $intersected_array = array_intersect_multi($arr1, $arr2, $arr3, $arr4); print_r($intersected_array);
Hasil keluaran ialah :
Array ( [0] => 4 )
Seperti yang anda lihat, persilangan empat tatasusunan ialah 4
.
Dengan menyesuaikan operasi persilangan tatasusunan, kami boleh mengendalikan persilangan berbilang tatasusunan dengan mudah. Artikel ini memperkenalkan langkah dan kod untuk melaksanakan persilangan tatasusunan Saya harap ia akan membantu semua orang.
Atas ialah kandungan terperinci Pelaksanaan tersuai PHP persimpangan tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!