ecshop模板中foreach的使用方法

来源:互联网 发布:qq管家 默认软件 编辑:程序博客网 时间:2024/05/16 18:44

1:foreach使用规则,他有以下几个参数 from ,item name iteration index
 

     2:如何使用foreach循环

如果php要传递一个数组(如:$array)给ecshop的smarty模板.那么我们将通过from=$array 来接受,写法是{foreach from = $array item = item}
 

     3:
     ecshop中smarty的下标如何表示,请看下面的例子:
     {foreach from = $array item = item name=name} 
     {$smarty.foreach.name.iteration}
     {/foreach} 

     这里的iteration就是从1开始的下标,
     如果要从0开始的下标,应该使用{$smarty.foreach.name.index}
 

   4:如何判断是否是foreach循环的开始和结束,最后一个元素.

   {if $smarty.foreach.last}表示循环的最后一个元素.{if $smarty.freach.first}表示循环的开始.
 

  5:如何使用双重循环.

  举例如下:

{foreach from = $test item =item}

 {foreach from=$item.children item=child}
 {$child.name}
 {/foreach}
{/foreach}


share_info.allow_share = 1

 

 

 

ecshop 里边{foreach from=$searchkeywords item=val}是什么意思啊 要详细的解释

smarty的语法    相当于  foreach ($searchkeywords as $val) {} 

 

 

 


php中foreach()的用法

 

foreach()有两种用法: 

1: foreach(array_name as $value)
    {       
    statement;    
    }


 

这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。


2:foreach(array_name as $key => $value)
    {
        statement;
     }

   这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以是下标值,也可以是字符串。比如book[0]=1中的“0”,book[id]="001"中的“id”.


示范用法的更多例子:

<?php
/*-------------------------------------------------------------------------*/
/* foreach example 1: value only */
echo "foreach example 1: value only ".'<br />';
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
   echo "Current value of "$a: $v".'<br />';
}
/*-------------------------------------------------------------------------*/
/* foreach example 2: value (with key printed for illustration) */
echo '<br />'.'<br />'."foreach example 2: value (with key printed for illustration) ".'<br />';
$a = array(1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach ($a as $v) {
    echo ""$a[$i] => $v".'<br />';
    $i++;
}
/*-------------------------------------------------------------------------*/
/* foreach example 3: key and value */
echo '<br />'.'<br />'."foreach example 3: key and value ".'<br />';
$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);
foreach ($a as $k => $v) {
    echo ""$a[$k] => $v".'<br />';
}
/*-------------------------------------------------------------------------*/
/* foreach example 4: multi-dimensional arrays */
echo '<br />'.'<br />'."foreach example 4: multi-dimensional arrays ".'<br />';
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2"n";
    }
}
/*-------------------------------------------------------------------------*/
/* foreach example 5: dynamic arrays */
echo '<br />'.'<br />'."foreach example 5: dynamic arrays ".'<br />';
foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v"n";
}
?>

结果如下:

foreach example 1: value only 
Current value of $a: 1
Current value of $a: 2
Current value of $a: 3
Current value of $a: 17
foreach example 2: value (with key printed for illustration) 
$a[0] => 1
$a[1] => 2
$a[2] => 3
$a[3] => 17
foreach example 3: key and value 
$a[one] => 1
$a[two] => 2
$a[three] => 3
$a[seventeen] => 17
foreach example 4: multi-dimensional arrays 
a b y z 
foreach example 5: dynamic arrays 
1 2 3 4 5

原创粉丝点击