php使用多维数组的SUM组

vis*_*hnu 0 php arrays

我有一个像这样的php数组:

 Array
    (
        [0] => Array
            (
                [url_id] => 2191238
                [time_spent] => 41

            )

        [1] => Array
            (
                [url_id] => 2191606
                [time_spent] => 215

            )
        [2] => Array
            (
                [url_id] => 2191606
                [time_spent] => 25

            )
    )
Run Code Online (Sandbox Code Playgroud)

那么,如何time_spent通过url_id 获取基于组的SUM(使用array_count_values)

Cha*_*les 7

让我们假装$array包含我们的数据.我们将遍历数组并不断地将其添加time_spent到另一个键入的数组中url_id.

$ts_by_url = array();
foreach($array as $data) {
    if(!array_key_exists($data['url_id'], $ts_by_url))
        $ts_by_url[ $data['url_id'] ] = 0;
    $ts_by_url[ $data['url_id'] ] += $data['time_spent'];
}
Run Code Online (Sandbox Code Playgroud)

$ts_by_url 现在应该包含:

2191238 => 41
2191606 => 240 // == 215 + 25
Run Code Online (Sandbox Code Playgroud)