You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP爬虫抓取网站数据时如何在for循环中对大量数值求和

解决方案

方案1:循环内直接累加(推荐,性能最优、代码量最少)

不需要额外遍历数组,直接在你现有的取值循环中增加累加逻辑即可:

$url = file_get_contents('https://website.test/');
$webDoc = new DOMDocument();
libxml_use_internal_errors(TRUE); //disable libxml errors
if(!empty($url)) { 
   $webDoc->loadHTML($url);
   libxml_clear_errors();
   $urlData = new DOMXPath($webDoc);
   $row = $urlData->query('//span[@class="stat_now_big"]');

   $total = 0; // 初始化总和变量
   for ($i = 1; $i <= 114; $i += 6) {
        $currentVal = str_replace( ',', '', $row->item($i)->nodeValue);
        $getVal[$i] = $currentVal;
        $total += (float)$currentVal; // 直接累加,强转数值类型避免字符串拼接问题
   }

$GetUnique= $getVal[1];
$data = [
    'unique' => number_format($GetUnique),
    'total' => number_format($total) // 可直接输出格式化后的总和
];
echo json_encode($data);

方案2:用数组求和函数(适合不想修改原有循环逻辑的场景)

如果你的$getVal数组里只存了需要求和的20个数值,直接调用PHP内置的array_sum()函数即可,不需要手动拼接每一个键名:

$total = array_sum($getVal);

该函数会自动遍历数组所有非空元素完成求和,即使数组键是不连续的也不会影响结果。

内容的提问来源于stack exchange,提问作者Romani Kandelaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:00:01