首頁 > 後端開發 > php教程 > 如何有效率地對多維 PHP 數組中的列值求和?

如何有效率地對多維 PHP 數組中的列值求和?

Patricia Arquette
發布: 2024-12-29 17:05:11
原創
648 人瀏覽過

How to Efficiently Sum Column Values in Multi-Dimensional PHP 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() for Exact Keys

從PHP 5.5 開始,您可以使用有效率地匯總特定欄位:

array_sum(array_column($input, 'gozhi')); // For 'gozhi' column
登入後複製

所有金鑰的總和集合

如果您想要具有匹配鍵的所有內部數組的總和(如所需的輸出),請使用以下方法:

$final = array_shift($input);

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

unset($value);
登入後複製

一般情況使用array_column的解決方案

使用 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 數組中的列值求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板