-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathcontinue.xml
134 lines (132 loc) · 3.52 KB
/
continue.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7104ee97ced1768a3231588dfc0bc0d7eb1117ad Maintainer: pastore Status: ready -->
<!-- CREDITS: butera -->
<sect1 xml:id="control-structures.continue" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>continue</title>
<?phpdoc print-version-for="continue"?>
<simpara>
<literal>continue</literal> è impiegato all'interno delle strutture di iterazione
per saltare il resto del ciclo corrente e riprendere l'esecuzione dalla verifica
della condizione di controllo e quindi dall'inizio dell'iterazione successiva.
</simpara>
<note>
<simpara>
In PHP la struttura
<link linkend="control-structures.switch">switch</link> è
considerata una struttura di iterazione ai fini del comando
<literal>continue</literal>. <literal>continue</literal> si comporta come
<literal>break</literal> (quando nessun argomento viene passato) ma
solleverà un avvertimento poiché è probabile che si tratti di un errore. Se uno
<literal>switch</literal> è dentro un loop,
<literal>continue 2</literal> continuerà con la prossima iterazione
del loop esterno.
</simpara>
</note>
<simpara>
<literal>continue</literal> accetta un argomento numerico facoltativo che indica
il numero di livelli di strutture iterative annidate per i quali si intende concludere
il ciclo attuale. Il valore predefinito è <literal>1</literal>, perciò salta
alla fine del ciclo corrente.
</simpara>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
foreach ($arr as $key => $value) {
if (!($key % 2)) { // salta i numeri pari
continue;
}
do_something_odd($value);
}
$i = 0;
while ($i++ < 5) {
echo "Esterno<br />\n";
while (1) {
echo "Medio<br />\n";
while (1) {
echo "Interno<br />\n";
continue 3;
}
echo "Questa frase non viene mai mostrata.<br />\n";
}
echo "Neanche questa.<br />\n";
}
?>
]]>
</programlisting>
</informalexample>
</para>
<para>
Omettere il punto e virgola dopo <literal>continue</literal> può creare
confusione. Segue un esempio di cosa non andrebbe fatto.
</para>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
?>
]]>
</programlisting>
<para>
Ci si potrebbe aspettare come risultato il seguente :
</para>
<screen>
<![CDATA[
0
1
3
4
]]>
</screen>
</informalexample>
</para>
<para>
<table>
<title>Changelog per <literal>continue</literal></title>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.3.0</entry>
<entry>
<literal>continue</literal> all'interno di uno <literal>switch</literal> che sta tentando di agire come un'istruzione <literal>break</literal> per lo
<literal>switch</literal> innescherà un <constant>E_WARNING</constant>.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->