Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pelaksanaan tersuai PHP persimpangan tatasusunan

Pelaksanaan tersuai PHP persimpangan tatasusunan

WBOY
WBOYasal
2023-05-23 10:32:36445semak imbas

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.

  1. Perihalan Masalah

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.

  1. Penyelesaian

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;
}
  1. Penerangan Fungsi

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.

  1. Contoh

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.

  1. Ringkasan

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!

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