Pelaksanaan tersuai PHP persimpangan tatasusunan

WBOY
Lepaskan: 2023-05-23 10:32:36
asal
450 orang telah melayarinya

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);
Salin selepas log masuk

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;
}
Salin selepas log masuk
  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);
Salin selepas log masuk

Hasil keluaran ialah :

Array
(
    [0] => 4
)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!