0

私は現在の日付を見つけてから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の月が月と日を混同しているために検出できないことです。解決策はありますか?

4

1 に答える 1

0

あなた以外は何も「混乱」していません。:)

実際、問題は数か月ではなく数日です。配列の日付形式はj/m(日付に先行ゼロなし、月に先行ゼロなし) ですが、(日付に先行ゼロなし、月に先行ゼロなし) でルックアップを行っていますd/m

日付形式を修正すると、プログラムは正常に動作します。

于 2011-10-01T13:33:16.817 に答える