foreach,foreachelse
            
                
                
                
                
                
                
                
                    
                        Nome Attributo
                        Tipo
                        Obbligatorio
                        Default
                        Descrizione
                    
                
                
                    
                        from
                        array
                        sì
                        nessuno
                        Array sul quale viene eseguito il ciclo
                    
                    
                        item
                        stringa
                        sì
                        nessuno
                        Nome della variabile che rappresenta
                        	l'elemento attuale
                    
                    
                        key
                        stringa
                        no
						nessuno
						Nome della variabile che rappresenta la chiave attuale
                    
                    
                        name
                        stringa
                        no
                        nessuno
						Nome del ciclo foreach per l'accesso alle sue proprietà
                    
                
                
            
			
			I cicli foreach sono un'alternativa ai cicli
			section. foreach si usa
			per ciclare su un singolo array associativo. La sintassi di
			foreach è molto più semplice di
			session, ma in compenso può essere usata solo
			per un array singolo. I tag foreach devono
			essere chiusi con /foreach. I parametri
			obbligatori sono from e item.
			Il nome del ciclo foreach può essere quello che preferite, composto
			di lettere, numeri e underscore. I cicli foreach
			possono essere nidificati, ma i nomi dei cicli nidificati devono
			essere diversi tra di loro. La variabile from
			(di solito un array di valori) determina quante volte verrà eseguito
			il ciclo foreach.
			foreachelse viene eseguito quando non ci sono
			valori nella variabile from.
			
foreach
{* questo esempio stamperà tutti i valori dell'array $custid *}
{foreach from=$custid item=curr_id}
	id: {$curr_id}<br>
{/foreach}
OUTPUT:
id: 1000<br>
id: 1001<br>
id: 1002<br>
foreach con key
{* key contiene la chiave per ogni valore del ciclo
l'assegnazione può essere qualcosa del genere:
$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>
		
		I cicli foreach hanno anche le proprie variabili che gestiscono le proprietà
		del foreach. Queste vengono indicate così: {$smarty.foreach.foreachname.varname},
		dove foreachname è il nome indicato come attributo name
		del foreach
		
			
			iteration
			
        	iteration si usa per mostrare l'iterazione corrente del ciclo.
			
			
			iteration comincia sempre per 1 ed è incrementata di uno
			ad ogni iterazione.
			
			
			
			first
			
        	first vale true quando l'iterazione attuale è la prima del ciclo.
			
			
			
			last
			
        	last vale true quando l'iterazione attuale è l'ultima del ciclo.
			
			
			
			show
			
        	show si usa come parametro per il foreach.
        	show è un valore booleano, true o false. Quando
        	è false, il foreach non verrà visualizzato. Se è presente un
        	foreachelse, verrà visualizzato al suo posto.
			
			
			
			total
			
			total si usa per visualizzare il numero di iterazioni che il
			ciclo foreach effettuerà. Può essere usato all'interno o dopo il foreach.