Rumah > pembangunan bahagian belakang > masalah PHP > Jumlah kumpulan tatasusunan berbilang dimensi PHP

Jumlah kumpulan tatasusunan berbilang dimensi PHP

PHPz
Lepaskan: 2023-05-07 11:52:10
asal
745 orang telah melayarinya

Apabila aplikasi web terus berkembang, pemprosesan dan analisis data menjadi semakin penting. Penggunaan tatasusunan berbilang dimensi adalah situasi biasa dalam pembangunan web. Untuk tatasusunan berbilang dimensi dalam PHP, penjumlahan kumpulan ialah operasi yang kerap diperlukan. Artikel ini akan menumpukan pada kaedah pelaksanaan jumlah kumpulan tatasusunan berbilang dimensi dalam PHP.

Pertama, mari kita lihat contoh, katakan kita mempunyai tatasusunan berbilang dimensi yang mengandungi nama produk, tarikh jualan dan jualan seperti yang ditunjukkan di bawah:

$sales = array(
      array("product" => "A", "date" => "2022-01-01", "sales" => 100),
      array("product" => "B", "date" => "2022-01-02", "sales" => 200),
    array("product" => "C", "date" => "2022-01-03", "sales" => 250),
    array("product" => "B", "date" => "2022-01-04", "sales" => 150),
    array("product" => "A", "date" => "2022-01-05", "sales" => 300),
    array("product" => "C", "date" => "2022-01-06", "sales" => 400),
);
Salin selepas log masuk

Kami mahu Jumlah jualan boleh dilaksanakan melalui kod berikut:

<?php

$sum = array();  // 定义存放结果的数组

foreach ($sales as $sale) {
    $product = $sale["product"];  // 获取产品名称
    $salesAmt = $sale["sales"];  // 获取销售额
   
    // 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素
    if (!array_key_exists($product, $sum)) {
        $sum[$product] = 0;
    }
    
    // 将销售额加入该产品名称对应的数组元素中
    $sum[$product] += $salesAmt;
}

print_r($sum);  // 输出结果

?>
Salin selepas log masuk

Keluaran kod di atas adalah seperti berikut:

Array
(
    [A] => 400
    [B] => 350
    [C] => 650
)
Salin selepas log masuk

Idea pelaksanaan kod adalah menggunakan gelung foreach untuk melintasi setiap tatasusunan dalam berbilang- Elemen tatasusunan dimensi, dapatkan nama produk dan volum jualan elemen ini. Kemudian, dengan menilai sama ada nama produk sudah wujud dalam tatasusunan yang menyimpan hasil, jika tidak, buat elemen tatasusunan dengan nama produk sebagai kunci. Akhir sekali, tambahkan volum jualan pada elemen tatasusunan yang sepadan dengan nama produk. Selepas traversal selesai, jumlah volum jualan yang sepadan dengan setiap nama produk boleh diperolehi.

Kami juga boleh mengumpulkan dan menjumlahkan berdasarkan beberapa syarat. Sebagai contoh, dalam contoh di atas, jika anda ingin mengumpulkan dan menjumlahkan mengikut nama produk dan tarikh jualan, anda boleh melaksanakannya melalui kod berikut:

<?php

$sum = array();  // 定义存放结果的数组

foreach ($sales as $sale) {
    $product = $sale["product"];  // 获取产品名称
    $date = $sale["date"];  // 获取销售日期
    $salesAmt = $sale["sales"];  // 获取销售额
   
    // 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素
    if (!array_key_exists($product, $sum)) {
        $sum[$product] = array();
    }
    
    // 如果该销售日期不存在,则创建一个以该销售日期为键的数组元素
    if (!array_key_exists($date, $sum[$product])) {
        $sum[$product][$date] = 0;
    }
    
    // 将销售额加入该产品名称和销售日期对应的数组元素中
    $sum[$product][$date] += $salesAmt;
}

print_r($sum);  // 输出结果

?>
Salin selepas log masuk

Keluaran kod di atas adalah seperti berikut:

Array
(
    [A] => Array
        (
            [2022-01-01] => 100
            [2022-01-05] => 300
        )

    [B] => Array
        (
            [2022-01-02] => 200
            [2022-01-04] => 150
        )

    [C] => Array
        (
            [2022-01-03] => 250
            [2022-01-06] => 400
        )

)
Salin selepas log masuk

dilaksanakan oleh kod Idea ini serupa dengan contoh sebelumnya, kecuali dalam tatasusunan yang menyimpan hasil, setiap elemen tatasusunan mencipta tatasusunan dengan tarikh jualan sebagai kuncinya. Dengan cara ini, anda boleh mengumpulkan dan menjumlahkan dengan mudah mengikut nama produk dan tarikh jualan.

Untuk meringkaskan, penjumlahan kumpulan tatasusunan berbilang dimensi dalam PHP ialah operasi biasa. Semasa pelaksanaan, kita boleh menggunakan gelung foreach untuk melintasi setiap elemen tatasusunan dalam tatasusunan dan mencipta elemen tatasusunan baharu seperti yang diperlukan untuk mencapai fungsi penjumlahan kumpulan. Sudah tentu, untuk situasi di mana jumlah data adalah besar, kami juga boleh menggunakan fungsi lanjutan seperti fungsi array_reduce() PHP untuk menyelesaikan operasi yang sepadan dan meningkatkan kecekapan pelaksanaan dan kelajuan berjalan kod.

Atas ialah kandungan terperinci Jumlah kumpulan tatasusunan berbilang dimensi PHP. 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