私はこのphpスクリプトを持っています:
function hoeveelzijner ($jaar, $id)
{
function hoeveelhoeveel($beginstamp, $endstamp, $id)
{
$dates = mysql_query('SELECT v_date FROM visitors WHERE id="'.$id.'" AND v_date<"'.$endstamp.'" AND v_date>"'.$beginstamp.'"');
return mysql_num_rows($dates);
}
$i = 1;
while ($i < 13)
{
$hoeveel[$i-1] = hoeveelhoeveel(mktime(0, 0, 0, $i, 1, $jaar),mktime(0, 0, 0, $i, cal_days_in_month(CAL_GREGORIAN,$i,$jaar),$jaar),$id);
$i = $i+1;
}
return $hoeveel;
}
これを下に置くと、問題なく動作します。
$values = hoeveelzijner(2005, 1);
ただし、たとえば、2回行うと:
$values = hoeveelzijner(2005, 1);
$test = hoeveelzijner(2000, 4);
次のエラーが表示されます: Fatal error: Cannot redeclare hoeveelhoeveel() (previously defined in ...:69) in ... on line 69.
誰が私が間違っているのか知っていますか? 一度しか使えないと、関数を使う目的がぶち壊してしまうような……。
追加情報: 他のファイルを含めたり、スクリプトの他の場所で関数を再宣言したりしません。
どうもありがとう!