Php Foreach循环故障与输出
首先,我对PHP真的不是很有经验,也不是最好的使用方法,所以请友好一点 无论如何,我正在努力将google analytics输出到一个java表,我的foreach显示页面点击率和页面浏览量,根本不听我说:/ 只是想澄清一下,数组没有错,当在常规表中计算值时,它们是正确的。我很确定我的foreach有点问题,可能是循环计数或??你不知道吗Php Foreach循环故障与输出,php,arrays,loops,foreach,Php,Arrays,Loops,Foreach,首先,我对PHP真的不是很有经验,也不是最好的使用方法,所以请友好一点 无论如何,我正在努力将google analytics输出到一个java表,我的foreach显示页面点击率和页面浏览量,根本不听我说:/ 只是想澄清一下,数组没有错,当在常规表中计算值时,它们是正确的。我很确定我的foreach有点问题,可能是循环计数或??你不知道吗 Array ( [0] => Array ( [id] => http://www.google.com/analytics/feeds/da
Array (
[0] => Array ( [id] => http://www.google.com/analytics/feeds/data?ga:date=20110930&start-date=2011-09-30&end-date=2011-10-15 [updated] => 2011-10-14T17:00:00.001-07:00 [title] => ga:date=20110930 [dimensions] => Array ( [name] => date [value] => 20110930 ) [metrics] => Array ( [0] => Array ( [confidenceInterval] => 0.0 [name] => newVisits [type] => integer [value] => 4 )
[1] => Array ( [id] => http://www.google.com/analytics/feeds/data?date=20111001&start-date=2011-09-30&end-date=2011-10-15 [updated] => 2011-10-14T17:00:00.001-07:00 [title] => ga:date=20111001 [dimensions] => Array ( [name] => date [value] => 20111001 ) [metrics] => Array ( [0] => Array ( [confidenceInterval] => 0.0 [name] => newVisits [type] => integer [value] => 5 ) [1] => Array ( [confidenceInterval] => 0.0 [name] => uniquePageviews [type] => integer [value] => 54 ) ) )
and so on.
现在我的痛苦是:
注意:metricsarray=>uniquePageviews+NewVisitions,仅用于标题
<?php if (!empty($metricsArray)): ?>
<?php foreach ($metricsArray as $m): ?>
<tr>
<th><?php echo $m ?></th> <!-- To display UniqueHits and Pageviews titles-->
<?php
foreach ($account['Account']['dataPoints'] as $data): ?>
<?php if (!empty($data['metrics'])): ?>
<?php foreach ($data['metrics'] as $key => $val): ?>
<?php if (is_numeric($key)): ?>
<td><?php echo $val['value'] ?></td>
<?php elseif ($key == 'value'): ?>
<td><?php echo $val ?></td>
<?php endif ?>
<?php endforeach ?>
<?php endif ?>
<?php endforeach ?>
</tr>
<?php endforeach ?>
<?php endif ?>
我的问题是此输出如下所示:
<tr>
<th>NewVisits</th>
<td>1</td> <!-- Unique visit
<td>7</td> <!-- PageViews
<td>2</td> <!-- Uniwue hit
<td>7</td> <!-- PageViews
+++++
</tr>
<tr>
<th>NUniquePageviews</th>
<td>1</td> <!-- Unique visit
<td>7</td> <!-- PageViews
<td>2</td> <!-- Uniwue hit
<td>7</td> <!-- PageViews
+++++
</tr>
我这里的问题是,除了第TH个标题文本外,它在两个TR中显示完全相同。
它应该只在TR 1中显示独特的vistis,在TR2中显示页面视图
谢谢你在这方面的任何意见
亲切的问候!
-Tom无论$account是什么变量,它在$metricsArray的每一次迭代中都与$m循环通过同一个数组。是的,我知道,但我不确定如何使它不以这种方式循环。并且只在第一个循环中输出唯一的hits值,在第二个循环中输出页面浏览量。最好是,您应该在$metricsArray中拥有所有信息,并在其中进行迭代。现在的情况是,您在$metricsArray中只有标题,而在之前未显示的代码中,您设置了$account,这是一个只有一项的数组。我知道我应该在metricsArray中包含所有内容,但您对$account数组的理解是错误的。它包含15个谷歌分析项目,每天1个=15天。我不确定如何将值获取到metricsarray,但我将研究它。如果有任何关于如何计数或诸如此类的其他建议,循环值,以便从$account数组中正确显示它们??哦,对不起,我的意思是$account['account']['dataPoints']中只有一项。