私はアイテムを含む配列を持っています。各項目にはタイトルと開始日があります。今私は週ごとにこれらの項目をグループ化したい。書類を見ると、フォーマット - >( 'W') 週が月曜日から始まります。これを土曜日に変更する必要があります。日付を含むPHP配列(土曜日まで)土曜日までのフライデー
$items = [
[ // friday
'title' => 'test',
'startdate' => '2016-03-18', // first group
],
[ // saturday
'title' => 'test',
'startdate' => '2016-03-19', // second group
],
[ // sunday
'title' => 'test',
'startdate' => '2016-03-20', // second group
],
[ // monday
'title' => 'test',
'startdate' => '2016-03-21', // second group
],
[ // saterday
'title' => 'test',
'startdate' => '2016-03-26', // third group
],
];
私はこのような何かが、その正常に動作していない
foreach($items as $item) {
// group by week
$startDate = \DateTime::createFromFormat('Y-m-d', $item['startdate']);
$currectWeek = $startDate->format('W');
$saturday = 6;
$friday = 5;
$test = clone $startDate;
if($currectWeek !== 5){
$test->modify('last friday');
}
if($currectWeek !== 6){
$test->modify('next saturday');
}
$a = $test->format('W');
if(!isset($items_by_week[$a])){
$items_by_week[$a] = [];
}
$items_by_week[$a][] = [
'title' => $item['title'],
'date' => $item['startdate'],
];
}
何が問題なのですか?あなたの$ items_by_week配列が週番号でグループ化されています。 –
以下のanwserで解決したサンプル入力を探しているサンプル出力をお知らせください:https://stackoverflow.com/questions/13128854/php-datetime-class-change-first-day-of-the -week-to-monday#answer-13129157 – Bham