PHP多维数组

PHP多维数组,php,multidimensional-array,Php,Multidimensional Array,我对我想发生的事情有一个逻辑结构或想法,我想使用数组在PHP中进行编码,下面是场景: 10个循环/每月发生次数 月=>重复次数 如上所示,我有一个循环发生了10次,在循环计数中记录了4个不同的月份,每个特定的月份都有可能重复多次,就像月份(sep)重复了5次一样。这个想法和一个人在10次记录的旅行中,他/她旅行了多少个月,以及在一个月内旅行了多少次的记录是一样的。你知道如何使用数组在PHP中构建它吗?非常感谢您的任何建议或回答 好的,这是我想做的一个真正的交易,我从数据库中提取月份记录,然后我想

我对我想发生的事情有一个逻辑结构或想法,我想使用数组在PHP中进行编码,下面是场景:

10个循环/每月发生次数

月=>重复次数

如上所示,我有一个循环发生了10次,在循环计数中记录了4个不同的月份,每个特定的月份都有可能重复多次,就像月份(sep)重复了5次一样。这个想法和一个人在10次记录的旅行中,他/她旅行了多少个月,以及在一个月内旅行了多少次的记录是一样的。你知道如何使用数组在PHP中构建它吗?非常感谢您的任何建议或回答

好的,这是我想做的一个真正的交易,我从数据库中提取月份记录,然后我想显示从数据库中提取的月份以及重复的次数,例如显示如下:

Jan (2)
Sep (5)

我希望它是动态的,如果数据库记录中不存在,则不会显示特定的月份。

我认为他试图执行基本的频率分析。假设您以某种方式将日期输入到数组中,您可以使用strotime(),date()函数生成键,然后解析它们

首先,创建一些虚拟数据:

// dummy data; unsure of the format, so going with time()-like structure
$dates = array();
for( $i = 0; $i < 10; $i++ ) {
    $dates[] = strtotime(sprintf("%s-%s-2012", rand(1,30), rand(1,12) ));
}
在这一点上,您将得到类似于您想要的东西:

print_r( $freq );

Array
(
    [Sep] => 2
    [Feb] => 2
    [Nov] => 1
    [Dec] => 1
    [Jan] => 2
    [Apr] => 1
    [May] => 1
)

如果年份不同,您可能希望以某种方式将其加倍。

我编辑上述问题。输出应如上所示。
$freq = array();
foreach( $dates as $timestamp ) {
    // assuming it's all the same year, discover the month
    $month = date("M", $timestamp );

    if( !isset($freq[$month]) ) $freq[$month] = 0;
    $freq[$month]++;
}
print_r( $freq );

Array
(
    [Sep] => 2
    [Feb] => 2
    [Nov] => 1
    [Dec] => 1
    [Jan] => 2
    [Apr] => 1
    [May] => 1
)