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

Jumlah kumpulan tatasusunan berbilang dimensi PHP

PHPz
PHPzasal
2023-05-07 11:52:10653semak imbas

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),
);

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);  // 输出结果

?>

Keluaran kod di atas adalah seperti berikut:

Array
(
    [A] => 400
    [B] => 350
    [C] => 650
)

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);  // 输出结果

?>

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
        )

)

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!

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
Artikel sebelumnya:Adakah muka depan php atau asp?Artikel seterusnya:Adakah muka depan php atau asp?