如何計算多維數組中的列總計
考慮一個多維數組,其中元素按行和列排列,但按鍵集可能會排列動態變化。任務是計算每列中值的總和,無論鍵的變化如何。
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中文網其他相關文章!