`

smarty foreach 空时执行一次问题

 
阅读更多

http://blog.csdn.net/wyhuan1030/article/details/6289321

 

smarty本身逻辑导致的问题,如果使用以下代码:

<{foreach from=$array item=one}>
       <li><{$one.title}></li>
<{/foreach}>

即使$array为空还是会执行一次。

如果想要解决这个问题,只能使用下面的办法

<{if $array}>
<{foreach from=$array item=one}>
       <li><{$one.title}></li>
<{/foreach}>
<{/if}>

或者

<{if is_array($array)}>
<{foreach from=$array item=one}>
       <li><{$one.title}></li>
<{/foreach}>
<{/if}>

 

分享到:
评论

相关推荐

    Smarty foreach控制循环次数的实现详解

    - `{$smarty.foreach.loop.first}`:如果这是循环的第一次执行,该变量为`true`。 - `{$smarty.foreach.loop.last}`:如果这是循环的最后一次执行,该变量为`true`。 - `{$smarty.foreach.name.last}`:与`{$...

    Smarty Foreach 使用说明

    - `.first`: 当前循环是否是第一次执行,如果是,则设置为 `true`。 例如,你可以利用这些属性实现特定逻辑: ```smarty {foreach from=$myArray item=i name=foo} {$smarty.foreach.foo.index}|{$smarty....

    Smarty foreach控制循环次数的一些方法

    - {$smarty.foreach.loop.first}:如果当前是循环的第一次执行,则此变量为真(true)。 - {$smarty.foreach.loop.last}:如果当前是循环的最后一次执行,则此变量为真(true)。 此外,还有几个变量可用于更具体的...

    smarty调用php常量

    - **{$smarty.section}和{$smarty.foreach}**:提供了循环迭代的机制,增强了模板的动态性。 - **{$smarty.template}**:显示当前使用的模板名称。 - **{$smarty.version}**:返回Smarty版本号。 - **{$smarty....

    Smarty_smarty_

    在这个Smarty_smarty_的压缩包中,很显然包含了一份详尽的Smarty教程,涵盖了从基础到高级的多个方面。下面将详细阐述Smarty模板引擎的关键知识点。 1. **基本语法**:Smarty的语法设计简洁明了,它允许在模板文件...

    php+smarty输出新闻列表

    Smarty提供了变量赋值、控制结构(如if/else、for/foreach循环)、函数调用等特性,使得模板文件更加简洁易读。 创建新闻列表的步骤如下: 1. 数据库连接与查询:在PHP中,我们先需要建立与数据库的连接,例如使用...

    smarty内置函数foreach用法实例

    其中,foreach函数是Smarty中最常用的函数之一,它用于遍历数组或者对象的属性。 在Smarty模板中,foreach函数的使用主要有两种形式,第一种适用于Smarty 2版本,而第二种则是Smarty 3版本,与PHP中的foreach循环...

    smarty3.0,smarty最新版本

    4. **块插件(Block Plugins)**:Smarty 3.0引入了块插件,它们是可重复使用的函数,可以在模板内部定义并多次调用。这对于创建复杂的布局或重复元素非常有用。 5. **函数插件(Function Plugins)**:类似于PHP的...

    smarty最新手册 smarty中英文结合版

    2. 控制结构:Smarty支持条件语句(if/else/elseif)和循环(foreach)等,使模板具备一定的逻辑处理能力。 3. 模板函数:类似于PHP函数,如{function name=arg1 arg2},用于执行特定任务。 4. 指令:如{include ...

    Smarty最新版下载自Smarty官网

    4. **预编译和编译优化**:Smarty会先将模板文件预编译成PHP代码,然后在运行时执行这些代码,这样可以减少解析模板的时间,提高性能。 5. **模板继承**:通过使用`{extends}`和`{block}`标签,可以实现模板的继承...

    最新版smarty类库

    作为一个成熟且活跃的开源项目,Smarty有丰富的社区资源和详尽的官方文档,用户可以通过它们学习和解决问题。 总的来说,最新版的Smarty类库不仅提供了高效的模板处理,还强调了安全性、灵活性和可扩展性。无论你...

    php smarty3.0+Smarty中文手册chm

    Smarty3.0是该框架的一个重要版本,它带来了许多改进和新特性,旨在提高效率和可扩展性。这篇文档将详细介绍Smarty3.0的关键概念和功能。 1. **Smarty模板引擎基础** Smarty的核心理念是让HTML模板和PHP代码分离,...

    smarty模板

    8. **版本更新**:Smarty-3.0.9是Smarty的一个稳定版本,它修复了之前版本的一些已知问题,提升了性能,并引入了一些新特性。 使用Smarty模板,开发者可以更加专注于业务逻辑,设计师则可以专注于页面设计,两者...

    smarty模板引擎3.1

    Smarty3.1版本是该引擎的一个稳定分支,提供了许多增强的功能和优化。 一、Smarty核心概念 1. 模板(Template):模板文件通常由HTML、CSS和JavaScript组成,但其中可以包含Smarty语法,如变量、控制结构等,这些...

    李炎恢Smarty专题精讲视频课程源码

    Smarty是一个广泛使用的PHP模板引擎,它的主要目的是将前端界面与后端逻辑代码分离,从而让开发者可以更加专注于各自的工作:设计师处理视图,而程序员处理数据和业务逻辑。本课程"李炎恢Smarty专题精讲视频课程源码...

    Smarty中文手册,Smarty教程,Smarty模板的入门教材

    作为一款编译型的 PHP 模板引擎,Smarty 在运行时将模板编译成 PHP 代码,从而在后续请求中快速执行,提高了性能。 **特点概述**: 1. **逻辑与界面分离**:Smarty 使得开发者能够专注于业务逻辑的编写,而设计...

    smarty完全中文手册

    例如,你可以使用`{if}`检查一个变量是否为空,或者使用`{foreach}`遍历数组并输出每个元素。此外,还有`{section}`和`{next}`等用于处理多维数据的高级功能。 Smarty的配置是灵活的,你可以设置全局和局部的模板...

    Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。

    9. **版本更新**:Smarty-3.1.16是Smarty的一个版本,随着时间的推移,Smarty不断迭代更新,修复已知问题,增加新功能,以适应不断发展的Web开发环境。 总的来说,Smarty为PHP开发者提供了一个强大而灵活的工具,...

    smarty3.6 带例子

    通过使用特定的语法,如 {$var} 和 {foreach},Smarty能够解析这些指令并执行相应的PHP操作。这使得非程序员(如网页设计师)也能参与到网站的前端构建中,而不必理解复杂的PHP语法。 Smarty3.6中的关键特性包括: ...

    php开发smarty模板

    在实际开发中,使用Smarty时,首先需要安装和配置Smarty库,然后创建实例,分配变量,最后渲染模板。例如: ```php // 加载Smarty类库 require_once 'path/to/Smarty.class.php'; $smarty = new Smarty(); // 配置...

Global site tag (gtag.js) - Google Analytics