Re: Date sequence calculating
| From: | George Wilson | Date: | Tue, 12 Nov 2013 22:05:15 +0000 |
| Subject: | Re: Date sequence calculating | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-322451@lists.php.net to get a copy of this message | ||
Or you could always 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');
On Tue, Nov 12, 2013 at 11:30 AM, Jonathan Sundquist
<jsundquist@gmail.com>wrote:
> 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');
>