私は、何時に基づいて配列の値を決定するサイトを作っています。私はこのひどい(機能的な)スクリプトを書いて、もっと簡潔にできるかどうか疑問に思っています。私はcase/switchステートメントから始めましたが、複数の条件付きステートメントを処理するのに問題がありました。ここで汚い行為だ:ちょうど恐ろしいPHP関数を書きましたが、何か助けが必要です(elseif chain-switch?)
if ($now < november 18th) {
$array_to_use = $home;
}
elseif (november 18th < $now && $now < november 21st) {
$array_to_use = $driving;
}
elseif (november 21st < $now && $now < november 22nd) {
$array_to_use = $flying;
}
...
...
...
elseif (february 1st < $now) {
$array_to_use = $arrived;
}
else {
$array_to_use = $default;
}
スケジュールは、実際にはもっと複雑であり、その中の13個のelseif
文を持っています。誰かが私がちょうどコーダーのブロックを持っていたことを確認してください、そして、これを行う良い方法があるのですか?
EDIT:それは私が(うまくいけば)
EDIT 2やってるかを理解する方が簡単ですので、私はラフ本当回のUnixタイムスタンプを変更:を現在壊れたJavascriptのクロックを許しますが、これはしてください私が取り組んでいるサイト:
各配列は自分の位置に基づいており、現在の位置に基づいて15個あります。それは開始時間と終了時間がわかっている小さな問題のドメインなので、柔軟性は重要ではなく、すべてを書いているだけです。時間がどのように連続しているかを見ることができ、一度に1つの文字列だけを選択する必要があります。
あなたはこのような何かやって、switchステートメントを使用することができます
選択したタイムスタンプに数学はありますか? –
数学はあります。 $は分割され、数回丸められます –
いくつの条件がありますか?それらは重複していますか、またはそれぞれの条件は排他的ですか? –