foreach
Summary
Iterates over arrays in different ways.Usage
{foreach <array> as [ $keyVar => ] $itemVar [ sequence <array> as $sequenceVar ] [ offset <offset> ] [ max <max> ] [ reverse ]} [ {delimiter}...{/delimiter} ] [ {break} ] [ {continue} ] [ {skip} ] {/foreach}
Description
This construct makes it possible to iterate over arrays in different ways. The loop can be tweaked using the parameters (see above).
Examples
Example 1
{foreach $objects as $object} {$object.name} <br /> {/foreach}
This example will print out the names of the objects that are stored in the $objects array. If this array stores 4 objects with the following names: "Emmett Brown", "Marty McFly", "Lorraine Baines" and "Biff Tannen", the following output will be produced:
Emmett Brown
Marty McFly
Lorraine Baines
Biff Tannen
Example 2
{foreach $objects as $index => $object} {$index} : {$object.name} <br /> {/foreach}
This example demonstrates how to create an iteration counter.
0: Emmett Brown
1: Marty McFly
2: Lorraine Baines
3: Biff Tannen
Example 3
{foreach $objects as $object sequence array( 'dark', 'light' ) as $style} <div class="{$style}">{$object.name}</div> {/foreach}
This example demonstrates how to create a loop where the iterations are displayed using alternating styles (in this case dark, light, dark, light and so on).
Balazs Halasy (22/02/2005 1:11 pm)
Balazs Halasy (17/11/2005 1:26 pm)
Comments
Other parameters?
Friday 08 July 2005 1:04:20 am
Mindshare Tech
Re: Other parameters?
Wednesday 13 July 2005 3:06:32 pm
Alimi Nabil
Take a look at this : http://ez.no/ez_publish/documenta...plate_functions/program_flow/section
The {foreach} statement is a replacement for the {section loop=..}.
Re: Other parameters?
Wednesday 05 April 2006 1:20:26 pm
Nathalie Grimaud
Determines the start of the loop array for the iterations, the value must be an integer.
max :
Determines the maximum number of iterations, the value must be an integer.
parameters
Monday 16 January 2006 3:20:37 pm
AtR
[ {break} ] guess this breakes out of the foreach ??
[ {skip} ] and this jumps to next element ?
[ {continue} ] ??
working without modulo
Monday 30 January 2006 7:45:55 pm
James Ward
Using Break
Friday 17 November 2006 8:29:04 pm
Cesar Camelo
this example will wait 6 times to break the loop.