站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
EXCMS标签 模板底层函数
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
高级
特殊字符
帮助
标题
2级
3级
4级
5级
格式
插入
拉丁字母
扩展拉丁字母
国际音标
符号
希腊字母
希腊字母扩展
西里尔字母
阿拉伯字母
扩展阿拉伯字母
希伯来字母
孟加拉语字符集
泰米尔数字和符号
泰卢固语字符集
僧伽罗语字符集
梵文字符集
古吉拉特语字符集
泰语字符集
老挝语
高棉语字母
加拿大原住民音节文字
卢恩
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
格式
链接
标题
列表
文件
参考
讨论
说明
输入内容
输出结果
斜体
''斜体文字''
斜体文字
粗体
'''粗体文字'''
粗体文字
粗斜体
'''''粗斜体文字'''''
粗斜体文字
=={foreach}{foreachelse}{/foreach}数组遍历== {|border="1" style="text-align:center; width:900px;" !属性名称 !类型 !必要性 !默认值 !描述 |- |from |array |Yes 必要 |n/a |循环访问的数组 |- |item |string |Yes 必要 |n/a |当前元素的变量名 |- |key |string |No 可选 |n/a |当前键名的变量名 |- |name |string |No 可选 |n/a |用于访问foreach属性的foreach循环的名称 |} from和item是必要属性 :{foreach}循环的name可以是任何字母,数组,下划线的组合,参考PHP变量。 :{foreach}循环可以嵌套,嵌套的{foreach}的名称应当互不相同。 from属性通常是值数组,被用于判断{foreach}的循环次数。 在from变量中没有值时,将执行{foreachelse}。 {foreach}循环也有自身属性的变量,可以通过{$name. property}访问,其中"name"是name属性。 注意:name属性仅在需要访问{foreach}属性时有效,访问未定义name的{foreach}属性不会抛出一个错误,但将导致不可预知的结果。 {foreach}属性有iteration, total. '''示例:''' 例一. item属性 <pre> 1 <?php 2 $myArray = array(1000, 1001, 1002); 3 ?> </pre> 用模板以无序列表输出$myArray <pre> 1 <ul> 2 {foreach from=$myArray item=foo} 3 <li>{$foo}</li> 4 {/foreach} 5 </ul> </pre> 上例将输出: <pre> <ul> <li>1000</li> <li>1001</li> <li>1002</li> </ul> </pre> 例二. 演示item和key属性 <pre> 1 <?php 2 $myArray = array(9 => 'Tennis', 3 => 'Swimming', 8 => 'Coding'); 3 ?> </pre> 用模板按键名/键值对的形式输出$myArray, 类似于PHP的foreach。 <pre> 1 <ul> 2 {foreach from=$myArray key=k item=v} 3 <li>{$k}: {$v}</li> 4 {/foreach} 5 </ul> </pre> 上例将输出: <pre> <ul> <li>9: Tennis</li> <li>3: Swimming</li> <li>8: Coding</li> </ul> </pre> 例三. {foreach}的item属性是关联数组 <pre> 1 <?php 2 $items = array(23 => array('no' => 2456, 'label' => 'Salad'), 3 96 => array('no' => 4889, 'label' => 'Cream') 4 ); 5 ?> </pre> 模板中,[[url]]通过$myId输出$items <pre> 1 <ul> 2 {foreach from=$items key=myId item=i} 3 <li><a href="item.php?id=%7B$myId%7D">{$i.no}: {$i.label}</a></li> 4 {/foreach} 5 </ul> </pre> 上例将输出: <pre> <ul> <li><a href="item.php?id=23">2456: Salad</li> <li><a href="item.php?id=96">4889: Cream</li> </ul> </pre> 例四. {foreach}使用嵌套的item和key 向[[Smarty]]设置一个数组,对于每个键名对应的每个循环值都包括键。 <pre> 01 <?php 02 $contacts = array( 03 array('phone' => '1', 04 'fax' => '2', 05 'cell' => '3'), 06 array('phone' => '555-4444', 07 'fax' => '555-3333', 08 'cell' => '760-1234') 09 ); 10 ?> </pre> 用于输出$contact的模板。 <pre> 1 {foreach name=outer item=contact from=$contacts} 2 <hr> 3 {foreach key=key item=item from=$contact} 4 {$key}: {$item}<br> 5 {/foreach} 6 {/foreach} </pre> 上例将输出: <pre> <hr /> phone: 1<br /> fax: 2<br /> cell: 3<br /> <hr /> phone: 555-4444<br /> fax: 555-3333<br /> cell: 760-1234<br /> </pre> 例五. 使用{foreachelse}的[[数据库]]示例 一个数据库(例如PEAR或ADODB)的搜索脚本示例, <pre> 1 <? 2 $search_condition = "where name like '$foo%' "; 3 $sql = 'select contact_id, name, nick from contacts '.$search_condition.' order by name'; 4 $results = $excmsdb->getAssoc($sql); 5 ?> </pre> 借助{foreachelse}标记在没有结果时模板输出"None found"字样。 <pre> 1 {foreach key=cid item=con from=$results} 2 <a href="contact.php?contact_id=%7B$cid%7D">{$con.name} - {$con.nick}</a><br> 3 {foreachelse} 4 No items were found in the search 5 {/foreach} </pre> index包含当前数组索引,从零开始。 例六. iteration示例 <pre> 01 {* 每五行输出一次头部区块 *} 02 03 {foreach from=$items key=myId item=i name=foo} 04 {if $foo.iteration % 4 == 0} 05 {/if} 06 {/foreach} 07 <table> 08 <tbody><tr><th>Title</th></tr> 09 <tr><td>{$i.label}</td></tr> 10 </tbody></table> 11 {/if} 12 {foreachelse} 13 ... something else ... 14 {/foreach} </pre> iteration包含当前循环次数,从0开始,每次循环增长1。 例七. total属性示例 <pre> 1 {* 在结束位置显示行数 *} 2 3 {foreach from=$items key=part_id item=prod name=foo} 4 {$prod.name}<hr> 5 <div id="total">{$foo.total} items</div> 6 {foreachelse} 7 ... something else ... 8 {/foreach} </pre>
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)