php如何计算循环后的数字和

php如何计算循环后的数字和,php,Php,我有以下循环来计算评论和喜欢 function AddCampaignDetails($next=null){ $AccessToken = ACCESS_TOKEN; $url = "https://api.instagram.com/v1/tags/canonfanatic/media/recent?access_token=".$AccessToken; if($url !== null) { $url .= '&max_tag_id='

我有以下循环来计算评论和喜欢

function AddCampaignDetails($next=null){

    $AccessToken = ACCESS_TOKEN;
    $url = "https://api.instagram.com/v1/tags/canonfanatic/media/recent?access_token=".$AccessToken;

    if($url !== null) {
        $url .= '&max_tag_id=' . $next;
    }

    /*//Also Perhaps you should cache the results as the instagram API is slow
    $cache = './'.sha1($url).'.json';
    if(file_exists($cache) && filemtime($cache) > time() - 60*60){
        // If a cache file exists, and it is newer than 1 hour, use it
        $jsonData = json_decode(file_get_contents($cache));
    }else{
        $jsonData = json_decode((file_get_contents($url)));
        file_put_contents($cache,json_encode($jsonData));
    }*/

    $Ch = curl_init();
    curl_setopt($Ch, CURLOPT_URL, $url);
    curl_setopt($Ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($Ch, CURLOPT_TIMEOUT, 20);
    $Result = curl_exec($Ch);
    curl_close($Ch);
    $Result = json_decode($Result);
    $Data = $Result->data;
    //echo "<pre>"; print_r($Data); echo "</pre>";

    $CommentsSum = 0;
    $LikesSum = 0;
    for($i=0; $i<count($Data); $i++){
        $CommentsSum += $Data[$i]->comments->count;
        $LikesSum += $Data[$i]->likes->count;
    }
    //echo ' Comments '.$CommentsSum;
    //echo ' Likes '.$LikesSum;
    echo "<br />";

    if(isset($Result->pagination->next_url) && !empty($Result->pagination->next_url)){
        $next = $Result->pagination->next_url;
        $this->AddCampaignDetails($next);
    }else{
        $NextUrl = "";
        die;
    }

    return $result;
}
现在我想要上面的数字和
851

有什么想法吗


谢谢。

您的
$Data[$i]->comments->count必须是一个数字,而且它似乎是一个字符串,所以它是合并字符串而不是进行数学运算

如果你真的在每个数字之间有一个新行(就像你在echo中说的那样),那么
$Data[$i]->comments->count
可能等于
“183\n”

例如:


您是否在循环中进行了回音?也许在循环结束后,您可以一起添加$CommentsSum和$LikesSum。您是否在另一个循环中执行此操作?请发布您的完整代码。另外,总结几个数字似乎很琐碎…@Joshua我有一个完整代码的更新问题。
183
306
320
42
$CommentsSum += intval($Data[$i]->comments->count)