私は助けが必要です。私が今作っているのは、日付ピッカーです。私自身のためにかなり更新しています。ループの作成が多すぎる
特定の日付範囲をブロックする必要がありました。私はこれを行うためのコードを発見し、配列を利用しています。私はすきです。
私が必要としたのは、開始日と終了日のみを入力したため、範囲内のすべての日付で配列を作成する方法でした。一つ見つかった。魅力のように動作します。
しかし、今、問題があります。同じ$を使用して新しい配列を作成します。したがって、カレンダーが登録する唯一の配列は最新の配列です。基本的に、私が必要とするのはちょうど1つの配列です。
私はいくつか試しましたが、何も動作していないようです。これについては今考えています。どんな助け?
function createDateRangeArray($strDateFrom,$strDateTo) //Changes a Range of Dates to Specific Dates
{
$aryRange = array(); //Creates an Array
$iDateFrom = mktime(1,0,0,substr($strDateFrom,5,2), substr($strDateFrom,8,2),substr($strDateFrom,0,4));
$iDateTo = mktime(1,0,0,substr($strDateTo,5,2), substr($strDateTo,8,2),substr($strDateTo,0,4));
if ($iDateTo >= $iDateFrom)
{
array_push($aryRange,date('Y-m-d',$iDateFrom)); // first entry
while ($iDateFrom<$iDateTo)
{
$iDateFrom += 86400; // add 24 hours
array_push($aryRange,date('Y-m-d',$iDateFrom));
}
}
return $aryRange; //Returns to step 1 and adds another value into the array
}
$d = "SELECT startdate, enddate FROM classdetails";
$f = mysql_query($d);
while ($e = mysql_fetch_array($f))
{
while (list($g, $h) = each($e)) { $$g = $h; }
{
$aryDates = createDateRangeArray($startdate,$enddate);
print_r($aryDates);
echo "<br />";
}
}
私が思っていたことについては、大きく変更したとしても、私の作品の一部を取り上げた参考文献が含まれています。
わかりましたが、問題は、いったん配列を作成すると、新しい配列を作成するということにあります。私はifelseステートメント、空()、isset()、インクリメント(それを使用する方法を知らず、ちょうど長い時間を考え、それを削除した)を使って試しました。
ここで何ができますか?私はいつも(私はダミーデータの2行を持っている)は取り戻す何
:
Array ([0] => 2010-12-16 [1] => 2010-12-17 [2] => 2010-12-18 [3] => 2010-12-19 [4] => 2010-12-20 [5] => 2010-12-21 [6] => 2010-12-22 [7] => 2010-12-23)
Array ([0] => 2010-12-25 [1] => 2010-12-26 [2] => 2010-12-27 [3] => 2010-12-28 [4] => 2010-12-29)
問題は、ループ自体にあります。最初のインスタンスは、それが何をするのかを行います。 2番目のインスタンス以降、$ aryDatesが置き換えられます。
ご協力いただければ幸いです。
私は期限内にそれらの名前を変更する予定です。彼らは問題ではありません。これはwhileループの中から呼び出される関数であり、$ aryDatesは上書きされます。 –
ああ、決して静的配列として設定することは考えていませんでした。すべてを修正するための1つの簡単な単語。そして、大丈夫、私は可変変数を使用しません。あなたが言っていることも私は得ます。それは乱雑です。そしてありがとう。 :) –
ありがとうMarc!あなたはちょうど私に何か新しいことを教えました - 静的なキーワードが関数内でも適用できることを知らなかった...クラスのOOPコンテキストから知っていました。 – kander