Php HTTP API的计数和打印值

Php HTTP API的计数和打印值,php,matomo,Php,Matomo,正在寻找有关计算HTTP API中存在的所有值的帮助。下面的链接按日期输出多个数据点的值。我试图实现的是对每个值进行计数,以便 a:2:{s:10:"2018-01-03";a:9:{s:12:"nb_pageviews";d:2031;}s:10:"2018-01-04";a:9:{s:12:"nb_pageviews";d:25;} 我想把上面的nb_页面视图作为一个键输出,日期的值加起来是-2056 API的示例链接是 显示这个的PHP是 $url = "https://demo.piw

正在寻找有关计算HTTP API中存在的所有值的帮助。下面的链接按日期输出多个数据点的值。我试图实现的是对每个值进行计数,以便

a:2:{s:10:"2018-01-03";a:9:{s:12:"nb_pageviews";d:2031;}s:10:"2018-01-04";a:9:{s:12:"nb_pageviews";d:25;}
我想把上面的nb_页面视图作为一个键输出,日期的值加起来是-2056

API的示例链接是

显示这个的PHP是

$url = "https://demo.piwik.org/";
$url .= "?module=API&method=Actions.get";
$url .= "&idSite=7&period=day&date=last2";
$url .= "&format=php";
$url .= "&token_auth=anonymous";

$fetched = file_get_contents($url);
$content = unserialize($fetched);

// case error
if (!$content) {
   print("NO DATA");
}

foreach ($content as $row) {
   $pageviews = $row['nb_pageviews'];

   print("<div>$pageviews</div>\n");       
}
$url=”https://demo.piwik.org/";
$url.=“?模块=API和方法=Actions.get”;
$url.=“&idSite=7&period=day&date=last2”;
$url.=“&format=php”;
$url.=“&token\u auth=anonymous”;
$fetched=文件获取内容($url);
$content=unserialize($fetched);
//案例错误
如果(!$content){
打印(“无数据”);
}
foreach($内容为$行){
$pageviews=$row['nb_pageviews'];
打印(“$pageviews\n”);
}
请注意,上面的链接包含多个其他值,我也希望使用这些值,但为了确保此问题的可读性,我将这些值保持为简单的值。

只需在循环之前使用,并确保将默认值设置为0

$fetched = 'a:2:{s:10:"2018-01-03";a:9:{s:12:"nb_pageviews";d:2031;s:17:"nb_uniq_pageviews";d:964;s:12:"nb_downloads";d:2;s:17:"nb_uniq_downloads";d:2;s:11:"nb_outlinks";d:68;s:16:"nb_uniq_outlinks";d:64;s:11:"nb_searches";d:33;s:11:"nb_keywords";d:16;s:19:"avg_time_generation";d:0.78600000000000003;}s:10:"2018-01-04";a:9:{s:12:"nb_pageviews";d:25;s:17:"nb_uniq_pageviews";d:10;s:12:"nb_downloads";i:0;s:17:"nb_uniq_downloads";i:0;s:11:"nb_outlinks";d:1;s:16:"nb_uniq_outlinks";d:1;s:11:"nb_searches";d:2;s:11:"nb_keywords";d:2;s:19:"avg_time_generation";d:0.79300000000000004;}}';

$content = unserialize($fetched);

// case error
if (!$content) {
   print("NO DATA");
}

$pageviews         = 0;
$uniq_pageviews    = 0;
// and on, with your other vars you're looking to sum...

foreach ($content as $row) {
   $pageviews      += $row['nb_pageviews'];
   $uniq_pageviews += $row['nb_uniq_pageviews'];
}

var_export(['pageviews' => $pageviews, 'uniq_pageviews' => $uniq_pageviews]);
工作演示:

要打印这些值,可以将
var\u export
行替换为以下内容:

$data = [
    'pageviews'      => $pageviews,
    'uniq_pageviews' => $uniq_pageviews
];
您可以将其输出为一些HTML格式,如下所示:

<div class="col-md-4"><?php echo $data['pageviews']; ?></div>
<div class="col-md-4"><?php echo $data['uniq_pageviews']; ?></div>


太棒了,谢谢。如何
将这些值打印为
$pageviews
?此外,如果没有小数点,将进行编辑以进行解释。谢谢你的接受!:)非常感谢你。这是伟大的,因为它刚刚解决了我可以看到出现的其他一些问题。现在,能够将其作为一个函数添加,并跨多个页面使用这些数据,允许我为用户提供编辑分析日期的控制权。很棒的东西。
<div class="col-md-4"><?php echo $data['pageviews']; ?></div>
<div class="col-md-4"><?php echo $data['uniq_pageviews']; ?></div>