在今天像今天这样的节目

时间:2011-10-01 13:17:07

标签: php arrays date date-comparison

我制作了一个找到当前日期的程序,然后在php数组中进行搜索,并显示今天发生的事情。唯一的问题是该程序无法正确读取10-12个月。这是我的代码:

php数组:

$anniversary = array(
   '1/01' => array (
       '1813' => 'something here',
       '1824' => 'something here',
       '2001' => 'something here'
    ),
    '31/12' => array(
       '-450' => 'something here',
       '-168' => 'something here',
       '1942' => 'something here'
    )
);

该计划是:

<?php
include 'array.php';
$today = date('d/m');

foreach ($anniversary[$today] as $hdate => $event) {
    $table[0][] = $hdate;
    $table[0][] = $event;
    $counter++;
}

do {
    $random = rand(0, $counter * 3);
} while($random % 2 == 0);

echo '<h2>'.$table[0][$random-1].": ".'</h2>'.
     '<p>'.$table[0][$random].'</p>';
?>

问题是01-09个月发现并正确显示,而10-12个月找不到,因为将月份与日期混淆。 有解决方案吗

1 个答案:

答案 0 :(得分:0)

没有什么比你更“困惑”了。 :)

事实上问题不是几个月,而是几天。您的数组的日期格式为j/m(日期没有前导零,月份没有前导零),但您正在使用d/m进行查找(日期前导零,月份没有前导零)。< / p>

When I fix your date format, the program works well.