Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
For loop 什么';下面的smarty for循环代码有什么问题?_For Loop_Smarty_Fatal Error_Smarty2 - Fatal编程技术网

For loop 什么';下面的smarty for循环代码有什么问题?

For loop 什么';下面的smarty for循环代码有什么问题?,for-loop,smarty,fatal-error,smarty2,For Loop,Smarty,Fatal Error,Smarty2,我正在为我的网站使用smarty template engine版本2.6.18。我有以下打印1到4个数字的代码。但我得到的错误是: Fatal error: Smarty error: [in view-item-request.tpl line 67]: syntax error: unrecognized tag 'for' 我的代码如下: {for $foo = 1 to 40} <p>{$foo}</p> {/for} {for$foo=1到40} {

我正在为我的网站使用smarty template engine版本2.6.18。我有以下打印1到4个数字的代码。但我得到的错误是:

Fatal error: Smarty error: [in view-item-request.tpl line 67]: syntax error: unrecognized tag 'for'
我的代码如下:

{for $foo = 1 to 40} 
  <p>{$foo}</p>
{/for}
{for$foo=1到40}
{$foo}

{/for}

有人能帮我解决这个问题吗?提前感谢。

Smarty有自己的语法。对于循环,没有
,但是
foreach

您可以通过以下方式使用第节实现您想要的:

{section name=foo  start=1 loop= 40} 
  <p>{$smarty.section.foo.index}</p>
{/section}
{section name=foo start=1 loop=40}
{$smarty.section.foo.index}

{/section}
Smarty有自己的语法。对于
循环,没有
,但是
foreach

您可以通过以下方式使用第节实现您想要的:

{section name=foo  start=1 loop= 40} 
  <p>{$smarty.section.foo.index}</p>
{/section}
{section name=foo start=1 loop=40}
{$smarty.section.foo.index}

{/section}
循环{for}是Smarty 3支持的语法。对于Smarty 2,您可以使用{section},并使用迭代而不是索引来查看1-40而不是0-39的值

{section name=foo loop=40} 
    <p>{$smarty.section.foo.iteration}</p>
{/section}
{section name=foo loop=40}
{$smarty.section.foo.iteration}

{/section}
循环{for}是Smarty 3支持的语法。对于Smarty 2,您可以使用{section},并使用迭代而不是索引来查看1-40而不是0-39的值

{section name=foo loop=40} 
    <p>{$smarty.section.foo.iteration}</p>
{/section}
{section name=foo loop=40}
{$smarty.section.foo.iteration}

{/section}
谢谢您的帮助。这正是我要找的。你能不能在你的答案中添加代码,用for循环实现同样的功能。这将是一种新的东西,会增加我的知识。可以吗?@user2839497在这种情况下,您不能使用foreach循环。如果需要,您应该首先在PHP数组中创建值,然后将其分配给PHP,然后运行foreach循环,如手册所示,谢谢您的回复。但我仍然面临一个问题。使用你的代码,我只能打印1到39之间的值。实际上我想从1到40打印。为此,我尝试将loop@user2839497简单更改为40到41实际上,我有一个变量作为$total_pages,我使用这个变量作为循环计数器,而不是40。我从PHP文件发送这个变量。这个变量包含的值来自一些计算,所以我不能在这个数字上加1,因为这不是很好的编码实践。你能不能给我一些技巧,让我在解析循环时也包含限制数?谢谢你的帮助。这正是我要找的。你能不能在你的答案中添加代码,用for循环实现同样的功能。这将是一种新的东西,会增加我的知识。可以吗?@user2839497在这种情况下,您不能使用foreach循环。如果需要,您应该首先在PHP数组中创建值,然后将其分配给PHP,然后运行foreach循环,如手册所示,谢谢您的回复。但我仍然面临一个问题。使用你的代码,我只能打印1到39之间的值。实际上我想从1到40打印。为此,我尝试将loop@user2839497简单更改为40到41实际上,我有一个变量作为$total_pages,我使用这个变量作为循环计数器,而不是40。我从PHP文件发送这个变量。这个变量包含的值来自一些计算,所以我不能在这个数字上加1,因为这不是很好的编码实践。你能不能给我一些技巧,让我在解析循环时也包含限制数?你为什么要使用如此古老(2007!)的Smarty版本?你为什么要使用如此古老(2007!)的Smarty版本?