Re: Date sequence calculating
| From: | Jonathan Sundquist | Date: | Tue, 12 Nov 2013 19:30:48 +0000 |
| Subject: | Re: Date sequence calculating | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-322450@lists.php.net to get a copy of this message | ||
On Tue, Nov 12, 2013 at 1:25 PM, Ron Piggott <ron.piggott@actsministries.org
> wrote:
> I am trying to calculate a date sequence using $i in conjunction with “
> (so the represented # is “seen” by PHP)
>
> The code (below) results in 2 errors:
>
> Notice: Undefined variable: i_days_ago in /vhosts/
> mypainmanagementtracker.net/public/test.php on line 9
> Notice: Undefined variable: i_days_ago in /vhosts/
> mypainmanagementtracker.net/public/test.php on line 13
>
> <?php
>
> $users_current_date = date('Y-m-d');
> $i = 2;
> while ( $i <= 10 ) {
>
> $dt = new \DateTime( date('Y-m-d H:i:s' , strtotime(
> $users_current_date ) ) );
> $dt->modify("-$i days");
> $users_dates["$i_days_ago"]['starting_date'] =
> $dt->format('Y-m-d
> 00:00:00');
>
> $dt = new \DateTime( date('Y-m-d H:i:s' , strtotime(
> $users_current_date ) ) );
> $dt->modify("-$i days");
> $users_dates["$i_days_ago"]['ending_date'] =
> $dt->format('Y-m-d
> 23:59:59');
>
> ++$i;
> }
> ?>
>
> Is there a way to do this without creating these errors and also “NOTICE”
> errors? The dates being calculated will be used in a database query (used
> to generate a report based on the activity between the starting and ending
> dates).
>
> Ron
>
>
> Ron Piggott
>
>
> www.TheVerseOfTheDay.info
>
You need to concatenate the string. Right now php thinks that $i_days_ago
is a string since you have it in double quotes. You should do
$users_dates[$i . "_days_ago"]['starting_date'] = $dt->format('Y-m-d
00:00:00');
$users_dates[$i . "_days_ago"]["ending_date"] = $dt->format('Y-m-d
23:59:59');