Присваивать значения массиву PHP Smarty через цикл for - PullRequest
0 голосов
/ 25 марта 2011

Я немного новичок в PHP, но я пытаюсь присвоить значения (даты текущей недели) массиву smarty через цикл for. К сожалению, после часа поиска я не могу понять, как это осуществить.

Лучшее, что я смог сделать, - это присвоить эти значения даты семи отдельным переменным (в отличие от одного массива, содержащего семь значений). Мой код для этого ниже. Кто-нибудь сможет помочь мне с загрузкой этих значений в массив вместо отдельных переменных? Заранее спасибо за любую помощь.

global $smarty;

// Set current date and parse about any English textual datetime description into a Unix timestamp
$ts = strtotime('now');

// Calculate the number of days since Monday
$dow = date('w', $ts);
$offset = $dow - 1;
if ($offset < 0) $offset = 6;

// Calculate timestamp for the Monday
$ts = $ts - $offset*86400;

// This is where I want to assign dates to a smarty array, not individual variables
for ($i=0; $i<7; $i++, $ts+=86400){
    $smarty->assign('day'.$i,date("m/d/Y l", $ts));
}

1 Ответ

1 голос
/ 25 марта 2011

Почему бы вам не сделать массив следующим образом:

$days = array();
for ($i=0; $i<7; $i++, $ts+=86400){
    $days[] = date("m/d/Y l", $ts);
}
$smarty->assign('days' , $days);

Тогда в smarty вы можете использовать цикл foreach для отображения массива.1007 *

...