我在 SQL 数据库中有一些网站统计数据:
date: visits: pageviews:
12-12-12 34 21
12-12-13 31 22
12-12-14 33 2445
12-12-15 35 2422
12-12-16 36 232
//ect ect
我正在尝试创建一个多维数组,其中包含来自数据库的所有日期信息,并且日期将是键(选择器,多数组内的数组名称),因此作为最终结果,我应该能够做到这一点:
print_r $my_multi_array[12-05-12];
我应该在屏幕上看到该日期的统计数据。
现在我知道如何做所有的循环和东西,我什至对如何做多维数组有一个好主意,只是我认为我做错了:
//first things first, define the array:
$my_multi_array=array();
//then, in a loop, append to the array:
$my_multi_array[]=array("$date"=>array('visits'=>mysql_num_rows($visit_query),'pageviews'=>$pageview_query));
现在,当我print_r
该数组时,一切看起来都很好:
Array ( [0] => Array ( [11-12-24] => Array ( [visits] => 1 [pageviews] => 0) ) [1] => Array ( [11-12-25] => Array ( [visits] => 1 [pageviews] => 0) ) [2] => Array ( [11-12-26] => Array ( [visits] => 1 [pageviews] => 0)))1
注意最后的 1 ^^。结果似乎就是这样(不是拼写错误)。
现在,当我尝试打印某个数组时(使用日期
作为键
):
print_r $my_multi_array['11-12-24'];
我得到:
1
然后我尝试:
print_r $my_multi_array[2];
效果很好。
出于某种原因,它不允许我使用 date
作为键从 $my_multi_array
中选择数组。
关于如何解决这个问题有什么想法吗?
谢谢
最佳答案
一切都是正确的,因为你没有 array('key' => 'value')
样式数组,而是有 array( [0] = > array( 'key' => 'value' ) )
这就是为什么您在访问数组的数字键时获得正确结果的原因。
关于php - 如何创建 PHP 多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638051/