Re: Date sequence calculating

From: 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'); >

« previous php.general (#322451) next »