$day = date('n/j(D)' . strtotime('+' . $i . 'day'));
↓
$day = date('n/j(D)' , strtotime('+' . $i . 'day'));
PHPマニュアル date()
を参照してみて、サンプルと見比べてみてください。
関数の引数については
PHPマニュアル 関数の引数
に書いてあるのでこちらも読んでみてください。
引数のリストにより関数へ情報を渡すことができます。 このリストは、カンマで区切られた式のリストです。 引数の評価は、左から右の順番で行われます。
説明とリンクが足りなかったので追記
date()の第二引数で渡しているタイムスタンプはstrtotime()
で生成されています。
strtotime
ここからリンクをたどって行って
サポートする日付と時刻の書式
相対的な書式
を確認してみてください。
例えば
PHP
1echo date("Y-m-d",strtotime('+1day'));
とすると、明日の日付が表示され、
PHP
1echo date("Y-m-d",strtotime('+0day'));
とすると本日の日付が表示されます。
質問の中では、'+'.$i.'day'
と言う感じで文字列連結して、動的に数値部分が変わるような仕組みになっているので、
- どのような文字列を渡せば思い通りの結果になるのかを想定する
- $iが実際にどのような数字になっているかを確認しながら修正してみる(
var_dump($i);
等で出力してみる)
という2段階の手順で修正してみてください。
1年は365日とは限らない(閏年)ので、strtotime()とyearやmonthを使ってループ条件を指定するか自力で閏年を計算して条件に入れる等の工夫が必要になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/11 13:44 編集
2020/02/11 13:47
2020/02/11 15:33
2020/02/11 16:01