PHP7.1での、strtotime関数の中で変数を使った際の質問です。


1.この行だと、12月20日と表示されます。(本日は12/18)
echo date("n",strtotime('+2 day') ) . "月" . date( 'j',strtotime('+2 day')). "日". "<br />";

2.+2の2を変数$flgにすると、01月01日になってしまいます。
$flg = "2";
echo date('m',strtotime('+$flg today')) . "月" . date('d',strtotime('+$flg today')) . "日" . "<br />";

どちらも、
date_default_timezone_set('Asia/Tokyo');
で設定してあります。

今日何月何日から何日後の何日を変数(この場合$flg)に持たせて使いたいのですが、
上記の構文を訂正してできますか。
訂正していただけると助かります。
よろしくお願いします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2018/12/19 20:05:13
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:psne No.1

回答回数605ベストアンサー獲得回数334

ポイント300pt

today を day に変更してあります。

ダブルクォーテーションで囲むか

echo date('m',strtotime("+$flg day")) . "月" . date('d',strtotime("+$flg day")) . "日" . "<br />";

変数を文字列として繋げてみると、どのように動きますか。

echo date('m',strtotime('+' . $flg . ' day')) . "月" . date('d',strtotime('+' . $flg . ' day')) . "日" . "<br />";

何をしているか判るように、代入する値を用意する手もあります。

$time = '+' . $flg . ' day';
echo date('m',strtotime($time)) . "月" . date('d',strtotime($time)) . "日" . "<br />";
id:kohhi

早速お返事いただきありがとうございました。最初の
echo date('m',strtotime("+$flg day")) . "月" . date('d',strtotime("+$flg day")) . "日" . "
";
で通りました。

2018/12/19 20:04:58

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません