将数组从PHP函数返回给Smarty

时间:2011-02-12 04:15:59

标签: php function smarty return

冒着自我尴尬的风险,有人可以告诉我如何使用return

function dayCount() {

    for ($dayBegin = 1; $dayBegin < 32; $dayBegin++)
    {
      "<option value=\"".$dayBegin."\">".$dayBegin."</option>";
    }
}

我的问题是我通过

将此功能传递给Smarty
$dayCount = dayCount();
$smarty->assign('dayCount', $dayCount);

{$dayCount}

但是HTML会直接进入缓冲区,就在<html>之前(感谢Hamish),而不是在我想要的HTML元素中。

对此有何帮助?

1 个答案:

答案 0 :(得分:2)

您需要构建return语句

function dayCount() {
    $return = array();
    for ($dayBegin = 1; $dayBegin < 32; $dayBegin++)
    {
      $return[] = "<option value=\"".$dayBegin."\">".$dayBegin."</option>";
    }
    return $return;
}

虽然这会像你问的那样建立一个阵列。输出时,您需要将其内爆。

implode('', $dayCount);

否则,建立一个字符串而不是一个数组。