1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-25 16:02:13 +01:00
Files
archived-doc-es/language/control-structures/elseif.xml
Juan Pablo Berdejo 120e6c8a9f English version update
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@313035 c90b9560-bf6c-de11-be94-00142212c4b1
2011-07-07 00:02:23 +00:00

117 lines
3.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: c7aca484fd1d7eaccd03f0e011f858fa93d105b9 Maintainer: jpberdejo Status: ready -->
<sect1 xml:id="control-structures.elseif" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title><literal>elseif</literal>/<literal>else if</literal></title>
<?phpdoc print-version-for="elseif"?>
<para>
<literal>elseif</literal>, como su nombre lo sugiere, es una combinación
de <literal>if</literal> y <literal>else</literal>. Del mismo modo que
<literal>else</literal>, extiende una sentencia <literal>if</literal>
para ejecutar una sentencia diferente en caso que la expresión
<literal>if</literal> original se evalúe como
&false;. Sin embargo, a diferencia de
<literal>else</literal>, esa expresión alternativa sólo se
ejecutará si la expresión condicional del <literal>elseif</literal>
se evalúa como &true;. Por ejemplo, el
siguiente código debe mostrar <computeroutput>a es mayor que
b</computeroutput>, <computeroutput>a es igual que b</computeroutput>
o <computeroutput>a es menor que b</computeroutput>:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
if ($a > $b) {
echo "a es mayor que b";
} elseif ($a == $b) {
echo "a es igual que b";
} else {
echo "a es menor que b";
}
?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Puede haber varios <literal>elseif</literal> dentro de la misma
sentencia <literal>if</literal>. La primera
expresión <literal>elseif</literal> (si hay alguna) que se evalúe como
&true; sería ejecutada. En PHP también se puede
escribir 'else if' (en dos palabras) y el comportamiento sería idéntico
al de 'elseif' (en una sola palabra). El significado sintáctico
es ligeramente diferente (si se está familiarizado con C, este es el mismo
comportamiento) pero la conclusión es que ambos resultarían tener exactamente
el mismo comportamiento.
</simpara>
<simpara>
La sentencia <literal>elseif</literal> es ejecutada solamente si la
expresión <literal>if</literal> precedente y cualquiera de las expresiones
<literal>elseif</literal> precedentes son evaluadas como
&false;, y la expresión
<literal>elseif</literal> actual se evalúa como
&true;.
</simpara>
<note>
<simpara>
Tenga en cuenta que <literal>elseif</literal> y <literal>else if</literal>
serán considerados exactamente iguales sólamente cuando se utilizan corchetes
como en el ejemplo anterior. Al utilizar los dos puntos para definir las
condiciones <literal>if</literal>/<literal>elseif</literal>, no debe
separarse <literal>else if</literal> en dos palabras o PHP
fallará con un error del interprete.
</simpara>
</note>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
/* Método incorrecto: */
if($a > $b):
echo $a." es mayor que ".$b;
else if($a == $b): // No compilará
echo "La línea anterior provoca un error del interprete.";
endif;
/* Método correcto: */
if($a > $b):
echo $a." es mayor que ".$b;
elseif($a == $b): // Tenga en cuenta la combinación de las palabras.
echo $a." igual ".$b;
else:
echo $a." no es ni mayor que ni igual a ".$b;
endif;
?>
]]>
</programlisting>
</informalexample>
</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
-->