Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 19 additions & 36 deletions language/control-structures/alternative-syntax.xml
Original file line number Diff line number Diff line change
@@ -1,41 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8208b81cf1129e23e421c81b339aa8dbee653f70 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes Maintainer: seros -->
<!-- EN-Revision: 22583751fbfdaa3eaa41aeb6470d1343f5cb2c78 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes -->

<sect1 xml:id="control-structures.alternative-syntax" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Sintaxis alternativa de estructuras de control</title>
<title>Sintaxis alternativa</title>
<?phpdoc print-version-for="control-structures.alternative-syntax"?>
<para>
PHP ofrece una sintaxis alternativa para algunas de sus estructuras
de control, a saber: <literal>if</literal>,
<literal>while</literal>, <literal>for</literal>,
<literal>foreach</literal>, y <literal>switch</literal>.
En cada caso, la forma básica de la sintaxis alternativa es cambiar
la llave de apertura por dos puntos (:) y la llave de cierre por
<literal>endif;</literal>, <literal>endwhile;</literal>,
<literal>endfor;</literal>, <literal>endforeach;</literal>, o
<literal>endswitch;</literal>, respectivamente.
PHP ofrece otra manera de agrupar instrucciones dentro de un bloque, para las funciones de control <literal>if</literal>,
<literal>while</literal>, <literal>for</literal>, <literal>foreach</literal> y <literal>switch</literal>.
En cada caso, el principio es reemplazar la llave de apertura por dos puntos (:) y la llave de cierre por, respectivamente,
<literal>endif;</literal>, <literal>endwhile;</literal>, <literal>endfor;</literal>, <literal>endforeach;</literal>, o
<literal>endswitch;</literal>.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php if ($a == 5): ?>
A es igual a 5
A igual 5
<?php endif; ?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
En el ejemplo anterior, el bloque HTML "A es igual a 5" está anidado dentro de una
sentencia <literal>if</literal> escrita en la sintaxis alternativa. El
bloque HTML se mostraría solamente si <varname>$a</varname> es igual a 5.
En el ejemplo anterior, el bloque HTML "A igual 5" se incluye dentro de un <literal>if</literal> utilizando esta nueva sintaxis. Este código HTML solo se mostrará si la variable <varname>$a</varname> es igual a 5.
</simpara>
<para>
La sintaxis alternativa también se aplica a <literal>else</literal> y
<literal>elseif</literal>. La siguiente es una estructura
<literal>if</literal> con <literal>elseif</literal> y
<literal>else</literal> en el formato alternativo:
Esta otra sintaxis también funciona con <literal>else</literal> y <literal>elseif</literal>. El siguiente ejemplo muestra una estructura con un <literal>if</literal>, un <literal>elseif</literal> y un <literal>else</literal> utilizando esta otra sintaxis:
<informalexample>
<programlisting role="php">
<![CDATA[
Expand All @@ -47,7 +37,7 @@ elseif ($a == 6):
echo "a igual 6";
echo "!!!";
else:
echo "a no es 5 ni 6";
echo "a no vale ni 5 ni 6";
endif;
?>
]]>
Expand All @@ -56,46 +46,39 @@ endif;
</para>
<note>
<para>
No se admite la mezcla de sintaxis en el mismo bloque de control.
No se puede utilizar diferentes sintaxis en el mismo bloque de control.
</para>
</note>
<warning>
<para>
Cualquier salida (incluyendo espacios en blanco) entre una sentencia <literal>switch</literal>
y el primer <literal>case</literal> resultará en un error de sintaxis.
Por ejemplo, esto no es válido:
Cualquier visualización (incluyendo espacios) entre una estructura <literal>switch</literal> y el primer <literal>case</literal> producirá un error de sintaxis. Por ejemplo, esto no es válido:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
// ...
<?php endswitch; ?>
]]>
</programlisting>
</informalexample>
<para>
Mientras que lo siguiente es válido, ya que la nueva línea al final después de la
sentencia <literal>switch</literal> es considerada como parte del
<literal>?&gt;</literal> de cierre, no generando nada entre el
<literal>switch</literal> y el <literal>case</literal>:
Mientras que esto es válido, ya que la última nueva línea después de la estructura <literal>switch</literal> se considera parte de la etiqueta de cierre <literal>?&gt;</literal> y, por lo tanto, no se muestra nada entre <literal>switch</literal> y <literal>case</literal>:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
<?php endswitch; ?>
]]>
</programlisting>
</informalexample>
</warning>
<para>
Véase también <link linkend="control-structures.while">while</link>,
<link linkend="control-structures.for">for</link> e <link
linkend="control-structures.if">if</link> para más ejemplos.
Ver también <link linkend="control-structures.while">while</link>, <link linkend="control-structures.for">for</link>, y <link linkend="control-structures.if">if</link> para otros ejemplos.
</para>
</sect1>

Expand Down
74 changes: 23 additions & 51 deletions language/control-structures/break.xml
Original file line number Diff line number Diff line change
@@ -1,85 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: db1dbbceb7ad8fcec16cf62e85efd54a293dde75 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes Maintainer: PhilDaiguille -->
<!-- EN-Revision: 7104ee97ced1768a3231588dfc0bc0d7eb1117ad Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes -->

<sect1 xml:id="control-structures.break" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title><literal>break</literal></title>
<title>break</title>
<?phpdoc print-version-for="break"?>
<simpara>
<literal>break</literal> finaliza la ejecución de la estructura
La instrucción <literal>break</literal> permite salir de una estructura
<literal>for</literal>, <literal>foreach</literal>,
<literal>while</literal>, <literal>do-while</literal> o
<literal>switch</literal> en curso.
<literal>while</literal>, <literal>do-while</literal>
o <literal>switch</literal>.
</simpara>
<simpara>
<literal>break</literal> acepta un argumento numérico opcional
que indica de cuántas estructuras anidadas circundantes
se debe salir. El valor predeterminado es <literal>1</literal>, es decir,
solamente se sale de la estructura circundante inmediata.
que indicará cuántas estructuras anidadas deben ser
interrumpidas. El valor por omisión es <literal>1</literal>, solo la
estructura anidada inmediata es interrumpida.
</simpara>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$arr = array('uno', 'dos', 'tres', 'cuatro', 'pare', 'cinco');
while (list(, $val) = each($arr)) {
if ($val == 'pare') {
break; /* Se puede también escribir 'break 1;' aquí. */
$arr = array('un', 'dos', 'tres', 'cuatro', 'stop', 'cinco');
foreach ($arr as $val) {
if ($val == 'stop') {
break; /* También podría utilizarse 'break 1;' aquí. */
}
echo "$val<br />\n";
}

/* Utilizar el argumento opcional. */
/* Uso del argumento opcional. */

$i = 0;
while (++$i) {
switch ($i) {
case 5:
echo "En 5<br />\n";
break 1; /* Sólo sale del switch. */
case 10:
echo "En 10; saliendo<br />\n";
break 2; /* Sale del switch y del while. */
default:
break;
case 5:
echo "At 5<br />\n";
break 1; /* Termina únicamente el switch. */
case 10:
echo "At 10; quitting<br />\n";
break 2; /* Termina el switch y el ciclo while. */
default:
break;
}
}
?>
]]>
</programlisting>
</informalexample>
</para>
<para>
<table>
<title>Registro de cambios para <literal>break</literal></title>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.4.0</entry>
<entry>
<literal>break 0;</literal> ya no es válido. En versiones anteriores se interpretaba
igual que <literal>break 1;</literal>.
</entry>
</row>
<row>
<entry>5.4.0</entry>
<entry>
Eliminada la posibilidad de pasar variables (por ejemplo, <literal>$num = 2; break $num;</literal>)
como argumento numérico.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>

</sect1>

<!-- Keep this comment at the end of the file
Expand Down
Loading