合并数组中的相似 URL

Merge similar URLs in array

我有一个数组,其中包含来自 Google Analytics 的 URL 观看次数。我想合并相似地址的显示

比如我有这样一个数组:

    array(
        array(
            '/news/259670-lorem-ipsum/',
            '20715'
        ),
        array(
            'example.com/news/259670-lorem-ipsum/',
            '451' 
        ),
        array(
            'example.com/news/259670-lorem-ipsum/?amp_lite=',
            '5' 
        ),
        array(
            '/news/259670-lorem-ipsum/amp/',
            '54' 
        ),
        array(
            '/reviews/259671-dolor-amp-sit-amet/',
            '10732'
        ),
        array(
            'example.com/reviews/259671-dolor-amp-sit-amet/?fbclid=1234567890',
            '41' 
        ),
        array(
            '/reviews/259671-dolor-amp-sit-amet/amp/?fbclid=1234567890',
            '2' 
        ),
    );

最终结果应该是这样的:

array(
    '/news/259670-lorem-ipsum/' => 21225,
    '/reviews/259671-dolor-amp-sit-amet/' => 10775
)

如何使用 PHP 完成?

好的,我解决了问题:

$res = array();

foreach($pages as $page){
    // Remove domain
    $url = preg_replace('/\/?(example\.com)/i', '', $page[0]);

    // Remove query string
    $url = preg_replace('/(\/[^?]+).*/i', '', $url);

    // Remove AMP
    $url = preg_replace('/\/amp\/\z|\/amp$/i', '/', $url);

    if(array_key_exists($url, $res)){
        $res[$url] += $page[1];
    } else{
        $res[$url] = $page[1];
    }

}

var_dump($res);