首頁 >後端開發 >php教程 >如何有效率地計算不規則多維數組中的列總計?

如何有效率地計算不規則多維數組中的列總計?

Susan Sarandon
Susan Sarandon原創
2024-12-24 14:45:14663瀏覽

How to Efficiently Calculate Column Totals in Irregular Multi-Dimensional Arrays?

如何計算多維數組中的列總計

考慮一個多維數組,其中元素按行和列排列,但按鍵集可能會排列動態變化。任務是計算每列中值的總和,無論鍵的變化如何。

Array_Walk_Recursive 方法

對於內部陣列可以具有唯一鍵的通用解決方案,利用array_walk_recursive():

$final = array();

array_walk_recursive($input, function($item, $key) use (&$final){
    $final[$key] = isset($final[$key]) ?  $item + $final[$key] : $item;
});

Array_Column方法

如果需要對特定鍵值求和,可以使用array_column():

array_sum(array_column($input, 'gozhi')); // Sums the 'gozhi' column

對於統一內部陣列

如果所有內部陣列的key相同,則取得初始key結構:

$final = array_shift($input);

foreach ($final as $key => &$value){
   $value += array_sum(array_column($input, $key));
}    

unset($value);

Array_Column的一般情況

提取唯一鍵並執行列求和:

$final = array();

foreach($input as $value)
    $final = array_merge($final, $value);

foreach($final as $key => &$value)
    $value = array_sum(array_column($input, $key));

unset($value);

以上是如何有效率地計算不規則多維數組中的列總計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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