foreach,foreachelse
            
                
                
                
                
                
                
                
                    
                        Attribute Name
                        Type
                        Required
                        Default
                        Description
                    
                
                
                    
                        from
                        array
                        Yes
                        n/a
                        The array you are looping through
                    
                    
                        item
                        string
                        Yes
                        n/a
                        The name of the variable that is the current
						element
                    
                    
                        key
                        string
                        No
						n/a
						The name of the variable that is the current key
                    
                    
                        name
                        string
                        No
                        n/a
						The name of the foreach loop for accessing
						foreach properties
                    
                
                
            
			
			foreach loops are an alternative to
			section loops. foreach is
			used to loop over a single associative array. The syntax for
			foreach is much easier than
			section, but as a tradeoff it can only be used
			for a single array. foreach tags must be
			paired with /foreach tags. Required parameters
			are from and item. The
			name of the foreach loop can be anything you like, made up of
			letters, numbers and underscores. foreach
			loops can be nested, and the nested foreach names must be unique
			from each other. The from variable (usually an
			array of values) determines the number of times
			foreach will loop.
			foreachelse is executed when there are no
			values in the from variable.
			
foreach
{* this example will print out all the values of the $custid array *}
{foreach from=$custid item=curr_id}
	id: {$curr_id}<br>
{/foreach}
OUTPUT:
id: 1000<br>
id: 1001<br>
id: 1002<br>
foreach key
{* The key contains the key for each looped value
assignment looks like this:
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
      array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
*}
{foreach name=outer item=contact from=$contacts}
  {foreach key=key item=item from=$contact}
    {$key}: {$item}<br>
  {/foreach}
{/foreach}
OUTPUT:
phone: 1<br>
fax: 2<br>
cell: 3<br>
phone: 555-4444<br>
fax: 555-3333<br>
cell: 760-1234<br>
		
		Foreach-loops also have their own variables that handle foreach properties.
                These are indicated like so: {$smarty.foreach.foreachname.varname} with
		foreachname being the name specified as the name
		attribute of foreach
		
			
			iteration
			
        	iteration is used to display the current loop iteration.
			
			
			Iteration always starts with 1 and is incremented by one
			one each iteration.
			
			
			
			first
			
        	first is set to true if the current foreach iteration is the first
        	one.
			
			
			
			last
			
        	last is set to true if the current foreach iteration is the last
        	one.
			
			
			
			show
			
        	show is used as a parameter to foreach.
        	show is a boolean value, true or false. If
        	false, the foreach will not be displayed. If there is a foreachelse
        	present, that will be alternately displayed.
			
			
			
			total
			
			total is used to display the number of iterations that this foreach
			will loop. This can be used inside or after the foreach.