Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menjumlahkan tatasusunan tiga dimensi dalam php

Bagaimana untuk menjumlahkan tatasusunan tiga dimensi dalam php

PHPz
PHPzasal
2023-04-26 10:21:27636semak imbas

Dalam PHP, tatasusunan ialah jenis data yang sangat penting yang boleh digunakan untuk menyimpan senarai nilai. Untuk memproses data dengan lebih fleksibel, kadangkala perlu menggunakan tatasusunan tiga dimensi. Walau bagaimanapun, pemprosesan tatasusunan tiga dimensi mungkin sukar. Dalam artikel ini, kita akan membincangkan cara menjumlahkan tatasusunan tiga dimensi dalam PHP.

Pertama, kita perlu memahami struktur tatasusunan tiga dimensi. Dalam PHP, tatasusunan tiga dimensi terdiri daripada pelbagai tatasusunan dua dimensi. Setiap tatasusunan dua dimensi terdiri daripada pelbagai tatasusunan satu dimensi. Oleh itu, struktur tatasusunan tiga dimensi boleh dinyatakan sebagai:

array(
    array(
        array(),
        array(),
        ...
    ),
    array(
        array(),
        array(),
        ...
    ),
    ...
)

Dalam aplikasi praktikal, tatasusunan tiga dimensi biasanya digunakan untuk menyimpan data yang mengandungi berbilang atribut, seperti rekod prestasi pelajar. Pada masa ini, tatasusunan tiga dimensi boleh dinyatakan sebagai:

array(
    array(
        array('name' => 'Tom', 'math' => 80, 'english' => 90),
        array('name' => 'Jack', 'math' => 85, 'english' => 95),
        ...
    ),
    array(
        array('name' => 'Mary', 'math' => 90, 'english' => 95),
        array('name' => 'John', 'math' => 75, 'english' => 80),
        ...
    ),
    ...
)

Seterusnya, kami akan memperkenalkan dua kaedah untuk melaksanakan operasi jumlah pada tatasusunan tiga dimensi PHP.

Kaedah 1: Gunakan gelung untuk melintasi tatasusunan

Kaedah paling langsung ialah menggunakan gelung untuk melintasi tatasusunan dan kemudian menambah nilai setiap elemen. Langkah-langkah khusus adalah seperti berikut:

  1. Gunakan dua gelung foreach bersarang untuk melintasi tatasusunan dua dimensi dan tatasusunan satu dimensi masing-masing.
  2. Untuk setiap tatasusunan satu dimensi, gunakan gelung for untuk melelaran melalui semua elemennya.
  3. Kumpul nilai setiap elemen ke dalam pembolehubah.
  4. Pembolehubah akhir ialah hasil penjumlahan.

Kod sampel adalah seperti berikut:

$sum = 0;
foreach ($array as $arr2) {
    foreach ($arr2 as $arr1) {
        for ($i = 0; $i < count($arr1); $i++) {
            $sum += $arr1[$i];
        }
    }
}
echo $sum;

Dalam kod di atas, $array mewakili tatasusunan tiga dimensi untuk dijumlahkan dan $sum mewakili hasil penjumlahan. Perlu diingatkan bahawa oleh kerana setiap elemen dalam tatasusunan tiga dimensi ialah tatasusunan satu dimensi, anda perlu menggunakan fungsi kiraan untuk mendapatkan bilangan elemen.

Kaedah 2: Melintasi tatasusunan secara rekursif

Selain menggunakan gelung untuk melintasi tatasusunan, anda juga boleh menggunakan lintasan rekursif tatasusunan untuk melaksanakan operasi penjumlahan. Langkah khusus adalah seperti berikut:

  1. Tentukan fungsi rekursif sum_array, yang menerima tatasusunan berbilang dimensi dan penumpuk sebagai parameter, dengan nilai lalai penumpuk ialah 0.
  2. Lintas setiap elemen dalam tatasusunan Jika elemen itu masih tatasusunan, panggil fungsi sum_array secara rekursif dan tambahkan nilai pulangannya kepada penumpuk.
  3. Jika elemen adalah jenis angka, tambahkan nilainya pada penumpuk.
  4. Akhir sekali mengembalikan nilai penumpuk.

Kod sampel adalah seperti berikut:

function sum_array($arr, $sum = 0) {
    foreach ($arr as $value) {
        if (is_array($value)) {
            $sum = sum_array($value, $sum);
        } else {
            $sum += $value;
        }
    }
    return $sum;
}

echo sum_array($array);

Dalam kod di atas, $array mewakili tatasusunan tiga dimensi yang akan dijumlahkan. Kaedah ini melaksanakan traversal rekursif tatasusunan dan menambah setiap elemen untuk mendapatkan hasil penjumlahan.

Ringkasan

Artikel ini memperkenalkan dua kaedah untuk menjumlahkan tatasusunan tiga dimensi dalam PHP. Kaedah pertama ialah menggunakan gelung untuk melintasi tatasusunan dan menambah nilai setiap elemen untuk mendapatkan hasil penjumlahan; kaedah kedua ialah menggunakan rekursi untuk melintasi tatasusunan dan menambah setiap elemen untuk mendapatkan hasil penjumlahan. Kedua-dua kaedah mempunyai kelebihan dan kekurangan mereka sendiri, dan anda boleh memilih kaedah yang sesuai untuk melaksanakan operasi penjumlahan tatasusunan tiga dimensi mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menjumlahkan tatasusunan tiga dimensi dalam php. 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