PageRenderTime 16ms CodeModel.GetById 2ms app.highlight 7ms RepoModel.GetById 2ms app.codeStats 0ms

/documentation/it/designers/language-builtin-functions/language-function-foreach.xml

https://bitbucket.org/hallgrennetworks/smarty
XML | 191 lines | 148 code | 22 blank | 21 comment | 0 complexity | 16fb5d7616682e9e16b9edeb9e27b809 MD5 | raw file
  1<?xml version="1.0" encoding="UTF-8"?>
  2<!-- $Revision: 2972 $ -->
  3		<sect1 id="language.function.foreach">
  4			<title>foreach,foreachelse</title>
  5            <informaltable frame="all">
  6                <tgroup cols="5">
  7                <colspec colname="param" align="center" />
  8                <colspec colname="type" align="center" />
  9                <colspec colname="required" align="center" />
 10                <colspec colname="default" align="center" />
 11                <colspec colname="desc" />
 12                <thead>
 13                    <row>
 14                        <entry>Nome Attributo</entry>
 15                        <entry>Tipo</entry>
 16                        <entry>Obbligatorio</entry>
 17                        <entry>Default</entry>
 18                        <entry>Descrizione</entry>
 19                    </row>
 20                </thead>
 21                <tbody>
 22                    <row>
 23                        <entry>from</entry>
 24                        <entry>array</entry>
 25                        <entry></entry>
 26                        <entry><emphasis>nessuno</emphasis></entry>
 27                        <entry>Array sul quale viene eseguito il ciclo</entry>
 28                    </row>
 29                    <row>
 30                        <entry>item</entry>
 31                        <entry>stringa</entry>
 32                        <entry></entry>
 33                        <entry><emphasis>nessuno</emphasis></entry>
 34                        <entry>Nome della variabile che rappresenta
 35                        	l'elemento attuale</entry>
 36                    </row>
 37                    <row>
 38                        <entry>key</entry>
 39                        <entry>stringa</entry>
 40                        <entry>no</entry>
 41						<entry><emphasis>nessuno</emphasis></entry>
 42						<entry>Nome della variabile che rappresenta la chiave attuale</entry>
 43                    </row>
 44                    <row>
 45                        <entry>name</entry>
 46                        <entry>stringa</entry>
 47                        <entry>no</entry>
 48                        <entry><emphasis>nessuno</emphasis></entry>
 49						<entry>Nome del ciclo foreach per l'accesso alle sue proprietà</entry>
 50                    </row>
 51                </tbody>
 52                </tgroup>
 53            </informaltable>
 54			<para>
 55			I cicli <emphasis>foreach</emphasis> sono un'alternativa ai cicli
 56			<emphasis>section</emphasis>. <emphasis>foreach</emphasis> si usa
 57			per ciclare su un singolo array associativo. La sintassi di
 58			<emphasis>foreach</emphasis> è molto più semplice di
 59			<emphasis>session</emphasis>, ma in compenso può essere usata solo
 60			per un array singolo. I tag <emphasis>foreach</emphasis> devono
 61			essere chiusi con <emphasis>/foreach</emphasis>. I parametri
 62			obbligatori sono <emphasis>from</emphasis> e <emphasis>item</emphasis>.
 63			Il nome del ciclo foreach può essere quello che preferite, composto
 64			di lettere, numeri e underscore. I cicli <emphasis>foreach</emphasis>
 65			possono essere nidificati, ma i nomi dei cicli nidificati devono
 66			essere diversi tra di loro. La variabile <emphasis>from</emphasis>
 67			(di solito un array di valori) determina quante volte verrà eseguito
 68			il ciclo <emphasis>foreach</emphasis>.
 69			<emphasis>foreachelse</emphasis> viene eseguito quando non ci sono
 70			valori nella variabile <emphasis>from</emphasis>.
 71			</para>
 72<example>
 73<title>foreach</title>
 74<programlisting>
 75
 76{* questo esempio stamperà tutti i valori dell'array $custid *}
 77{foreach from=$custid item=curr_id}
 78	id: {$curr_id}&lt;br&gt;
 79{/foreach}
 80
 81OUTPUT:
 82
 83id: 1000&lt;br&gt;
 84id: 1001&lt;br&gt;
 85id: 1002&lt;br&gt;</programlisting>
 86</example>
 87
 88<example>
 89<title>foreach con key</title>
 90<programlisting>
 91{* key contiene la chiave per ogni valore del ciclo
 92
 93l'assegnazione può essere qualcosa del genere:
 94
 95$smarty->assign("contacts", array(array("phone" =&gt; "1", "fax" =&gt; "2", "cell" =&gt; "3"),
 96      array("phone" =&gt; "555-4444", "fax" =&gt; "555-3333", "cell" =&gt; "760-1234")));
 97
 98*}
 99
100{foreach name=outer item=contact from=$contacts}
101  {foreach key=key item=item from=$contact}
102    {$key}: {$item}&lt;br&gt;
103  {/foreach}
104{/foreach}
105
106OUTPUT:
107
108phone: 1&lt;br&gt;
109fax: 2&lt;br&gt;
110cell: 3&lt;br&gt;
111phone: 555-4444&lt;br&gt;
112fax: 555-3333&lt;br&gt;
113cell: 760-1234&lt;br&gt;</programlisting>
114</example>
115
116		<para>
117		I cicli foreach hanno anche le proprie variabili che gestiscono le proprietà
118		del foreach. Queste vengono indicate così: {$smarty.foreach.foreachname.varname},
119		dove foreachname è il nome indicato come attributo <emphasis>name</emphasis>
120		del foreach
121		</para>
122
123
124			<sect2 id="foreach.property.iteration">
125			<title>iteration</title>
126			<para>
127        	iteration si usa per mostrare l'iterazione corrente del ciclo.
128			</para>
129			<para>
130			iteration comincia sempre per 1 ed è incrementata di uno
131			ad ogni iterazione.
132			</para>
133			</sect2>
134
135			<sect2 id="foreach.property.first">
136			<title>first</title>
137			<para>
138        	<emphasis>first</emphasis> vale true quando l'iterazione attuale è la prima del ciclo.
139			</para>
140			</sect2>
141
142			<sect2 id="foreach.property.last">
143			<title>last</title>
144			<para>
145        	<emphasis>last</emphasis> vale true quando l'iterazione attuale è l'ultima del ciclo.
146			</para>
147			</sect2>
148
149			<sect2 id="foreach.property.show">
150			<title>show</title>
151			<para>
152        	<emphasis>show</emphasis> si usa come parametro per il foreach.
153        	<emphasis>show</emphasis> è un valore booleano, true o false. Quando
154        	è false, il foreach non verrà visualizzato. Se è presente un
155        	foreachelse, verrà visualizzato al suo posto.
156			</para>
157
158			</sect2>
159			<sect2 id="foreach.property.total">
160			<title>total</title>
161			<para>
162			<emphasis>total</emphasis> si usa per visualizzare il numero di iterazioni che il
163			ciclo foreach effettuerà. Può essere usato all'interno o dopo il foreach.
164			</para>
165			</sect2>
166
167
168
169
170
171</sect1>
172<!-- Keep this comment at the end of the file
173Local variables:
174mode: sgml
175sgml-omittag:t
176sgml-shorttag:t
177sgml-minimize-attributes:nil
178sgml-always-quote-attributes:t
179sgml-indent-step:1
180sgml-indent-data:t
181indent-tabs-mode:nil
182sgml-parent-document:nil
183sgml-default-dtd-file:"../../../../manual.ced"
184sgml-exposed-tags:nil
185sgml-local-catalogs:nil
186sgml-local-ecat-files:nil
187End:
188vim600: syn=xml fen fdm=syntax fdl=2 si
189vim: et tw=78 syn=sgml
190vi: ts=1 sw=1
191-->