私は(に使用する必要があるmannorで)使用することはかなり困難である形式のAPIからデータを与えられています - 私は、APIを変更することはできません。フォーマットのデータがうまく
$data = array(
array('day' => 'Monday', 'start' => 1100, 'end' => 1300),
array('day' => 'Tuesday', 'start' => 1100, 'end' => 1300),
array('day' => 'Wednesday', 'start' => 1100, 'end' => 1300),
array('day' => 'Thursday', 'start' => 1200, 'end' => 1300),
array('day' => 'Friday', 'start' => 1200, 'end' => 1300),
array('day' => 'Saturday', 'start' => 1200, 'end' => 1300),
array('day' => 'Sunday', 'start' => 1200, 'end' => 1400)
);
データは、私はフォーマットする方法を考え出すしようとしています0000と2400の間で変動開始と終了、すべての曜日を含まなくてもよい。以下は、私は与えられていたデータの例です。次の出力を持つデータ:Monday - Wednesday (1100-1300), Thursday - Saturday (1200-1300), Sunday (1200-1400)
基本的に連続した日(開始時刻と終了時刻が同じ)はハイフンで区切られています。
私は一種の醜いコードの巨大なブロック
のforeach()ループ。 –
これは醜いことではありません。週の曜日をループして開始時刻と終了時刻を比較するだけです。ちょっと難しいのは、あなたが正しい順序で日付をカバーしていることを確認することですが、それはハードコーディングすることができます($ days_of_week = array( "Monday"、 "Tuesday"、...、 "Sunday") ; ')。 –
週の曜日ごとにサブアレイが1つしかないことは保証されていますか? –