【问题标题】:Return an array from PHP function to Smarty从 PHP 函数返回一个数组到 Smarty
【发布时间】:2023-04-09 11:47:01
【问题描述】:

冒着自我尴尬的风险,谁能告诉我如何在这里使用return

function dayCount() {

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

我的问题是我通过这个函数传递给 Smarty

$dayCount = dayCount();
$smarty->assign('dayCount', $dayCount);

{$dayCount}

但 HTML 直接进入缓冲区,就在 &lt;html&gt; 之前(感谢 Hamish),而不是在我想要的 HTML 元素内。

有什么帮助吗?

【问题讨论】:

    标签: php function smarty return


    【解决方案1】:

    你需要建立return语句

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

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

    implode('', $dayCount);
    

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

    【讨论】:

    • 雅各布,你成功了!非常感谢您的帮助 - 很享受。我使用return 尝试了几个版本,但它们总是输出'array'——implode 总是丢失!!
    猜你喜欢
    • 1970-01-01
    • 2018-04-11
    • 2011-06-23
    • 2017-01-26
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多