phpsmartyforeach
A. php如何分割tag应用于smarty模板。
首先你的$tags是什么结构的,一个键值对?一个字符串?
如果是以个任何形式的3维数组比如这样的结构:
tags = {
{
{tag=>'风格',value='123'},
{tag=>'图片',value='456'},
{tag=>'下载',value='789'}
},
{
{tag=>'风格',value='123'},
{tag=>'图片',value='456'},
{tag=>'下载',value='789'}
}
}
可以使用foreach,就像这样:
{foreach from=tags key=key item=item}
{*取出每一组tag*}
{forecah form=item key=tag item=value}
{*取出每一个tag*}
{if tag == '风格'}
{assign var='style' value=value}
{else}
{if tag == '图片'}
{assign var='picture' value=value}
{else}
{if tag == '下载'}
{assign var='download' value=value}
{/if}
{/if}
{/if}
{/foreach}
<a href="?s={$style}">风格</a>,<a href="?s={$picture}">图片</a>,<a href="?s={$downlod}">下载</a>
{/foreach}
基本就是这样了
有什么问题我们再讨论哇
----------------------------------------------------------
就是只有一个tag?
还是有很多的tag
如果是后者
刚刚的代码就可以
B. 怎么控制php中的foreach循环次数
如果你想控制foreach循环次数,只需要在循环当中判断一下即可.
如:
foreach($a as $k=>$v){
if($k==6) break; //指定循环6次
}
C. php foreach怎样获取当前的循环次数
1、 {$smarty.foreach.loop.iteration} // 获取当前循环次数,以1开始
2、增加一个整型变量,循环执行一次则该变量则计数一次,变量的值就是当前循环的次数。代码如下:
<html>
<body>
<?php
$arr=array("one", "two", "three");
$i=0;
foreach ($arr as $value)
{
echo "value: " . $value . "<br />";
i++
}
?>
</body>
</html>
(3)phpsmartyforeach扩展阅读:
foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。
foreach (array_expression as $value) statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
foreach (array_expression as $key => $value) statement
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
自php 5 起,还可能遍历对象。注:当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用reset()。
D. 怎么判断php循环中是不是最后一个 smarty
我觉得可以这样,可以读取记录的时候将数据的条数也查出来。assign到前台页面,循环都是可以获取当前循环的次数的,虽然我并不知道smarty的foreach 循环获取当前循环次数是哪个参数,你可以查一查,应该能查到,这个,用当前循环次数,和数据的总数,也就是总循环次数比较,相等的话就是最后一次循环了。------解决方案--------------------1、你这不是 php 循环,而是模板语言的循环2、你的这个很像 smarty 模板语言,但不能确定。很多模板引擎都套用这个格式3、如果能确认是 smarty 模板引擎,那么有一个 last 属性正好满足你的需要.last 当前 foreach 循环执行到最后一遍时 last 被设置成 true.{* 在列表最后添加水平线 *} {foreach from=$items key=part_id item=prod name=procts} {foreachelse} ... content ... {/foreach} 相应的还有很多实用的属性可供使用,比如:index、iteration、first、total等这些都是那些有着 smarty 形,却无 smarty 质的所谓高效模板引擎所做不到的如果你还是不会的话je
可以去后盾里面查询 里面有很多资料,可以供你参考。