搜尋
首頁後端開發PHP問題php求二維數組某一列總和

在PHP開發過程中,我們常常需要對數組中的資料進行求和操作。針對一維數組,我們可以使用array_sum函數直接求和,但是當數組變成了二維數組,我們就需要一些額外的操作來求得指定列的總和。

例如,我們現在有一個儲存銷售數據的二維數組,每個子數組代表一個商品的銷售數據,包括商品id、銷售量、單價等資訊。我們需要求得所有商品的總收入,即銷售量與單價的乘積的總和。

那麼,該如何實現這項操作呢?

首先,我們可以使用array_column函數來取得指定列的陣列。這個函數是PHP5.5 版本新增的,其語法為:array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) ,其中,$input為要提取列的數組,$column_key為要提取的列的鍵名或數字索引,$index_key可選,為要作為傳回數組的key的列的鍵名或數字索引。

例如,在上述的銷售資料二維數組中,我們可以使用以下程式碼來取得所有商品的銷售量數組:

$sold_amount = array_column($sales_data, 'sold_amount');

接下來,我們可以使用array_reduce函數對$sold_amount數組進行累加操作,從而得到銷售量的總和。其語法為:array_reduce ( array $array , callable $callback [, mixed $initial = null ] ),其中,$array為要進行累加操作的數組,$callback為自訂的回呼函數,$initial為初始值。

例如,我們可以使用以下程式碼求得所有商品銷售量的總和:

$total_sold_amount = array_reduce($sold_amount, function($carry, $item){
    return $carry + $item;
});

接下來,我們需要對單價數組進行同樣的操作,從而得到所有商品單價的總和。最後,我們可以將兩個總和相乘,得到所有商品的總收入。

完整的程式碼如下:

$sales_data = array(
    array('id' => 1, 'sold_amount' => 50, 'unit_price' => 2.5),
    array('id' => 2, 'sold_amount' => 20, 'unit_price' => 3.2),
    array('id' => 3, 'sold_amount' => 100, 'unit_price' => 1.8),
);

$sold_amount = array_column($sales_data, 'sold_amount');
$total_sold_amount = array_reduce($sold_amount, function($carry, $item){
    return $carry + $item;
});

$unit_price = array_column($sales_data, 'unit_price');
$total_unit_price = array_reduce($unit_price, function($carry, $item){
    return $carry + $item;
});

$total_revenue = $total_sold_amount * $total_unit_price;

echo '所有商品的总收入为:' . $total_revenue;

以上程式碼執行後輸出:所有商品的總收入為:630。

綜上所述,當我們需要對二維數組的某一列進行求和操作時,可以使用array_column函數獲取指定列的數組,再使用array_reduce函數對數組進行累加操作,從而得到該列的總和。透過這些方法,我們可以更方便地對資料進行處理,提高開發效率。

以上是php求二維數組某一列總和的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具