我有一个多维数组,我想从中为网站管理员打印统计信息。我的问题是,一旦我以我想要的格式将数据放入数组中,我就无法弄清楚如何检索它。我必须知道关键值才能得到它,例如$uniqueBrowser["Firefox"]["14.0.1"]['times'];
例如,我想说 Firefox 70%,IE 30% 作为开始(汇总浏览器的所有版本“使用时间”)。然后我想进一步深入到特定版本,例如 FF3.6 14%、FF14 51% 等(只需打印出与版本相关的时间值)。
编辑:我的问题是,如何以上述方式检索我的数据?我的头被炸了,我在这方面已经太久了。请有人让我摆脱痛苦。如果有更好的方法可以做到这一点,也请告诉我。
我到目前为止的代码如下。此代码在 for each 循环中运行,该循环遍历数据库返回的数据。和变量设置为在循环的每次迭代中从数据库返回的浏览器值和版本$browser
值。$version
foreach
if(in_array($browser, $uniqueBrowser)) {
if(in_array($version, $uniqueBrowser[$browser])) {
$uniqueBrowser[$browser][$version]['times'] = $uniqueBrowser[$browser][$version]['times'] + 1;
} else {
$uniqueBrowser[$browser]['version'] = $version;
$uniqueBrowser[$browser][$version]['times'] = 1;
}
} else {
$uniqueBrowser[] = $browser;
$uniqueBrowser[$browser]['version'] = $version;
$uniqueBrowser[$browser][$version]['times'] = 1;
}
当我运行这段代码时,它给了我这个(通过 var_dump):
Browser data: array(4) {
[0]=>
string(7) "Firefox"
["Firefox"]=>
array(3) {
["version"]=>
string(6) "14.0.1"
[15]=>
array(1) {
["times"]=>
int(2)
}
["14.0.1"]=>
array(1) {
["times"]=>
int(15)
}
}
[1]=>
string(17) "Internet Explorer"
["Internet Explorer"]=>
array(2) {
["version"]=>
string(9) "8.0.0.253"
["8.0.0.253"]=>
array(1) {
["times"]=>
int(1)
}
}
}