<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Estruturas_de_control</id>
	<title>Curso POO PHP Estruturas de control - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Estruturas_de_control"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Estruturas_de_control&amp;action=history"/>
	<updated>2026-10-21T18:31:44Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Estruturas_de_control&amp;diff=36716&amp;oldid=prev</id>
		<title>Vlourido en 08:59 26 jul 2013</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Estruturas_de_control&amp;diff=36716&amp;oldid=prev"/>
		<updated>2013-07-26T08:59:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Curso POO PHP| 112 - Curso POO PHP]]&lt;br /&gt;
== Estruturas de control ==&lt;br /&gt;
En PHP os guións constrúense sobre a base de sentenzas. Utilizando chaves, podes agrupar as sentenzas en conxuntos, que se comportan coma se fosen unha única sentenza.&lt;br /&gt;
&lt;br /&gt;
Para definir o fluxo dun programa en PHP, ao igual que na maioría de linguaxes de programación, hai sentenzas para dous tipos de estruturas de control: sentenzas condicionais, que permiten definir as condicións baixo as que debe executarse unha sentenza ou un bloque de sentenzas; e sentenzas de bucle, coas que podes definir se unha sentenza ou conxunto de sentenzas se repite ou non, e baixo que condicións.&lt;br /&gt;
&lt;br /&gt;
Ademais, en PHP podes usar tamén (aínda que non é recomendable) a sentenza &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.goto.php goto]&amp;#039;&amp;#039;&amp;#039;, que che permite saltar directamente a outro punto do programa que indiques mediante unha etiqueta.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
goto fin;&lt;br /&gt;
echo &amp;#039;Non se executa&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
fin:&lt;br /&gt;
echo &amp;#039;Chegamos ao final&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estructuras condicionais ===&lt;br /&gt;
&lt;br /&gt;
A sentenza &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.if.php if]&amp;#039;&amp;#039;&amp;#039; permite definir unha expresión para executar ou non a sentenza ou conxunto de sentenzas seguinte. Se a expresión se avalía a true (verdadeiro), a sentenza execútase. Se se avalía false (falso), non se executará.&lt;br /&gt;
&lt;br /&gt;
Cando o resultado da expresión sexa false, podes utilizar &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.else.php else]&amp;#039;&amp;#039;&amp;#039; para indicar unha sentenza ou grupo de sentenzas a executar nese caso. Outra alternativa a else é utilizar &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.elseif.php elseif]&amp;#039;&amp;#039;&amp;#039; e escribir unha nova expresión que comezará un novo condicional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if ($a &amp;gt; 0) {&lt;br /&gt;
   echo &amp;quot;\$a é positivo&amp;quot;;&lt;br /&gt;
   echo &amp;quot;\$a ten o valor $a&amp;quot;;&lt;br /&gt;
} elseif ($a == 0) {&lt;br /&gt;
   echo &amp;quot;\$a é negativo&amp;quot;;&lt;br /&gt;
   echo &amp;quot;\$a ten o valor $a&amp;quot;;&lt;br /&gt;
} else &lt;br /&gt;
   echo &amp;quot;\$a é igual a 0&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cando a sentenza if, elseif ou else actúe sobre unha única sentenza, non será necesario usar chaves. Terás que usar chaves para formar un conxunto de sentenzas sempre que queiras que o condicional actúe sobre máis dunha sentenza.&lt;br /&gt;
&lt;br /&gt;
A sentenza &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.switch.php switch]&amp;#039;&amp;#039;&amp;#039; é similar a enlazar varias sentenzas if comparando unha mesma variable con diferentes valores. Cada valor vai nunha sentenza &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Cando se encontra unha coincidencia, comezan a executarse as sentenzas seguintes ata que remata o bloque switch, ou ata que se encontra unha sentenza &amp;#039;&amp;#039;&amp;#039;break&amp;#039;&amp;#039;&amp;#039;. Se non existe coincidencia co valor de ningún case, execútanse as sentenzas do bloque &amp;#039;&amp;#039;&amp;#039;default&amp;#039;&amp;#039;&amp;#039;, en caso de que exista.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
switch ($a) {&lt;br /&gt;
    case 0:&lt;br /&gt;
        echo &amp;quot;\$a é igual a 0&amp;quot;;&lt;br /&gt;
        break;&lt;br /&gt;
    case 1:&lt;br /&gt;
    case 3:&lt;br /&gt;
    case 5:&lt;br /&gt;
    case 7:&lt;br /&gt;
    case 9:&lt;br /&gt;
        echo &amp;quot;\$a é impar positivo menor de 10&amp;quot;;&lt;br /&gt;
        break;&lt;br /&gt;
    default:&lt;br /&gt;
        echo &amp;quot;\$a ten o valor $a&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tamén temos a posibilidade de crear expresións condicionais sinxelas empregando o operador ternario &amp;#039;&amp;#039;&amp;#039;?&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$resultado = expr1 ? expr2 : expr3;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cando expr1 é igual a &amp;#039;&amp;#039;true&amp;#039;&amp;#039;, o resultado é igual a expr2; en caso contrario o resultado é igual a expr3. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$resultado = $divisor == 0 ? &amp;quot;NaN&amp;quot; : $dividendo / $divisor;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dende PHP 5.3 é posible omitir o segundo operando. Neste caso, cando expr1 é igual a &amp;#039;&amp;#039;true&amp;#039;&amp;#039;, o resultado é igual a expr1. Emprégase principalmente para comprobar se un valor é nulo ou vacío, e ofrecer un valor alternativo. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$cidade = $_REQUEST[&amp;quot;cidade&amp;quot;] ?: &amp;quot;Santiago de Compostela&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bucles ===&lt;br /&gt;
&lt;br /&gt;
Empregando &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.while.php while]&amp;#039;&amp;#039;&amp;#039; podes definir un bucle que se executa mentres se cumpra unha expresión. A expresión avalíase antes de comezar cada execución do bucle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$a=0;&lt;br /&gt;
while ($a&amp;lt;10) {&lt;br /&gt;
    $a++;&lt;br /&gt;
    echo &amp;quot;\$a ten o valor $a&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.do.while.php do / while]&amp;#039;&amp;#039;&amp;#039; é un bucle similar ao anterior, pero a expresión avalíase ao final, co cal se asegura que a sentenza ou conxunto de sentenzas do bucle se executan polo menos unha vez.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$a=0;&lt;br /&gt;
do {&lt;br /&gt;
    echo &amp;quot;\$a ten o valor $a&amp;quot;;&lt;br /&gt;
    $a++;&lt;br /&gt;
} while ($a&amp;lt;10)&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Os bucles &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.for.php for]&amp;#039;&amp;#039;&amp;#039; son os máis complexos de PHP. Ao igual que os da linguaxe C, compóñense de tres expresións:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;for (expr1; expr2; expr3) sentenza ou conxunto de sentenzas;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* A primeira expresión, expr1, execútase só unha vez ao comezo do bucle.&lt;br /&gt;
* A segunda expresión, expr2, avalíase para saber se se debe executar ou non a sentenza ou conxunto de sentenzas. Se o resultado o false, o bucle remata.&lt;br /&gt;
* Se o resultado é true, execútanse as sentenzas e ao finalizar execútase a terceira expresión, expr3, e vólvese avaliar expr2 para decidir se se volve executar ou non o bucle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
for($a=0; $a&amp;lt;10; $a++)&lt;br /&gt;
    echo &amp;quot;\$a ten o valor $a&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podes aniñar calquera dos bucles anteriores en varios niveis. Tamén podes usar as sentenzas &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.break.php break]&amp;#039;&amp;#039;&amp;#039;, para saír do bucle, e &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/control-structures.continue.php continue]&amp;#039;&amp;#039;&amp;#039;, para omitir a execución das sentenzas restantes e volver á comprobación da expresión respectivamente.&lt;br /&gt;
&lt;br /&gt;
=== Sintaxe alternativa das estruturas de control ===&lt;br /&gt;
&lt;br /&gt;
Calquera das estruturas de control anteriores excepto &amp;#039;&amp;#039;&amp;#039;do-while&amp;#039;&amp;#039;&amp;#039; admite unha [http://es1.php.net/manual/es/control-structures.alternative-syntax.php sintaxe alternativa], que consiste en cambiar a chave de apertura polo caracter dous puntos &amp;quot;&amp;#039;&amp;#039;&amp;#039;:&amp;#039;&amp;#039;&amp;#039;&amp;quot;, e a chave de peche pola palabra clave &amp;#039;&amp;#039;&amp;#039;endif&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;endswitch&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;endwhile&amp;#039;&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;&amp;#039;endfor&amp;#039;&amp;#039;&amp;#039; dependendo da estrutura que esteamos a empregar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$a=0;&lt;br /&gt;
$a=0;&lt;br /&gt;
while ($a&amp;lt;10):&lt;br /&gt;
    $a++;&lt;br /&gt;
    echo &amp;quot;\$a ten o valor $a&amp;quot;;&lt;br /&gt;
endwhile;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Finalizar a execución ===&lt;br /&gt;
&lt;br /&gt;
En PHP temos unha construcción da linguaxe, &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/es/function.exit.php exit]&amp;#039;&amp;#039;&amp;#039; (ou o seu alias &amp;#039;&amp;#039;&amp;#039;[http://php.net/manual/es/function.die.php die]&amp;#039;&amp;#039;&amp;#039;), que se emprega cando se produce un erro grave para finalizar a execución do script actual.&lt;br /&gt;
&lt;br /&gt;
Pode pasárselle como parámetro o valor de saída do script (un número enteiro) ou a mensaxe que queremos que se amose antes de rematar (unha cadea de texto). Se non leva parámetro, non é necesarios empregar parénteses na chamada.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Vlourido|Víctor Lourido]] 14:43 25 jun 2013 (CEST)&lt;/div&gt;</summary>
		<author><name>Vlourido</name></author>
	</entry>
</feed>