通过for循环为PHP Smarty数组赋值

时间:2011-03-25 03:12:02

标签: php arrays variables loops smarty

我是一个PHP新手,但我试图通过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 个答案:

答案 0 :(得分:1)

为什么不制作类似的数组:

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

然后在smarty中你可以使用foreach循环来显示数组。

聪明的东西会像:

{foreach from=$days key="ind" item="day"}
  {$day}<br />
{/foreach}