Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah PHP mengendalikan masalah penjumlahan persilangan tatasusunan dua dimensi?

Bagaimanakah PHP mengendalikan masalah penjumlahan persilangan tatasusunan dua dimensi?

PHPz
PHPzasal
2023-04-23 09:17:56523semak imbas

Dalam pengaturcaraan PHP, kita sering menghadapi situasi pemprosesan tatasusunan, antaranya penjumlahan persilangan tatasusunan dua dimensi adalah masalah biasa. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk menangani masalah penjumlahan persilangan tatasusunan dua dimensi.

1. Apakah tatasusunan dua dimensi?

Tatasusunan dua dimensi bermaksud setiap elemen dalam tatasusunan itu sendiri adalah tatasusunan, di mana setiap elemen mewakili item data bebas.

Contohnya, tatasusunan dua dimensi di bawah mengandungi tiga subtatasusunan dan setiap subtatasusunan mengandungi tiga item data.

$arr = tatasusunan(

array(1,2,3),
array(4,5,6),
array(7,8,9)

)

2. Apakah persilangan tatasusunan?

Persimpangan tatasusunan merujuk kepada tatasusunan baharu yang terdiri daripada unsur-unsur yang wujud dalam kedua-dua tatasusunan.

Sebagai contoh, dua tatasusunan berikut:

$arr1 = tatasusunan(1,3,5,7,9);
$arr2 = tatasusunan(2,4,6, 8,9);

Persilangan mereka ialah:

tatasusunan(9)

3 Kaedah penjumlahan persilangan tatasusunan dua dimensi

Tasusunan Dua Dimensi. penjumlahan persilangan bermakna diberikan dua tatasusunan dua dimensi, lakukan operasi persilangan pada setiap sub-tatasusunan mereka, dan kemudian tambahkan nilai persilangan semua sub-tatasusunan untuk mendapatkan jumlah.

Contohnya, dua tatasusunan dua dimensi berikut:

$array1 = array(
array(1,2,3,4),
array(2,3 ,4 ,5),
tatasusunan(3,4,5,6)
);

$array2 = tatasusunan(
tatasusunan(3,4,5,6),
tatasusunan(5,6,7,8),
tatasusunan(7,8,9,10)
);

Jumlah persilangannya boleh dilaksanakan dengan kod berikut:

$sum = 0;
foreach ($array1 sebagai $subarray1) { // Traverse subarray dalam array 1
foreach ($array2 as $subarray2) { // Traverse subarray dalam array 2

$intersect = array_intersect($subarray1, $subarray2); // 对子数组进行交集操作
if (!empty($intersect)) { // 如果交集不为空
  $sum += array_sum($intersect); // 将交集中的值相加
}

}
}
echo $ sum; dalam tatasusunan 2 kemudian dilalui, setiap subarray dalam tatasusunan 2 bersilang, dan nilai-nilai dalam persimpangan itu ditambah pada pembolehubah $sum.

Dalam pelaksanaan khusus, fungsi array_intersect() digunakan untuk melaksanakan operasi persimpangan Jika persimpangan tidak kosong, fungsi array_sum() digunakan untuk menambah nilai dalam persimpangan.

Perlu diambil perhatian bahawa apabila menggunakan fungsi array_intersect(), jika persilangan dua sub-array kosong, tatasusunan kosong akan dikembalikan oleh itu, apabila menilai sama ada persimpangan itu kosong, anda perlu gunakan fungsi !empty() Buat pertimbangan.

5. Ringkasan

Artikel ini memperkenalkan konsep asas dan kaedah pelaksanaan penjumlahan persilangan tatasusunan dua dimensi dalam PHP dengan persimpangan tatasusunan. Jika anda mempunyai sebarang soalan atau cadangan tentang artikel ini, sila tinggalkan mesej.

Atas ialah kandungan terperinci Bagaimanakah PHP mengendalikan masalah penjumlahan persilangan tatasusunan dua dimensi?. 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