В программе «День, как сегодня» - PullRequest
0 голосов
/ 01 октября 2011

Я создал программу, которая находит текущую дату, а затем выполняет поиск в массиве 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 голосов
/ 01 октября 2011

Ничто не становится "запутанным", кроме вас. :)

На самом деле проблема не в месяцах, а в днях. Формат даты в вашем массиве j/m (без начальных нулей по дате, без начальных нулей по месяцу), но вы просматриваете d/m (ведущие нули по дате, без начальных нулей в месяце).

Когда я фиксирую ваш формат даты, программа работает хорошо.

...