Buscar..


Sintaxis alternativa para estructuras de control.

PHP proporciona una sintaxis alternativa para algunas estructuras de control: if , while , for , foreach y switch .

Cuando se compara con la sintaxis normal, la diferencia es, que la llave de apertura se sustituye por dos puntos ( : ) y la llave de cierre se sustituye por endif; al endwhile; endfor; , endforeach; , o endswitch; , respectivamente. Para ejemplos individuales, vea el tema sobre la sintaxis alternativa para las estructuras de control .

if ($a == 42):
    echo "The answer to life, the universe and everything is 42.";
endif;

Múltiples declaraciones de elseif que usan sintaxis corta:

if ($a == 5):
    echo "a equals 5";
elseif ($a == 6):
    echo "a equals 6";
else:
    echo "a is neither 5 nor 6";
endif;

Manual de PHP - Estructuras de control - Sintaxis alternativa

mientras

while bucle se repite a través de un bloque de código siempre que una condición especificada sea verdadera.

$i = 1;
while ($i < 10) {
    echo $i;
    $i++;
}

Salida: 123456789

Para obtener información detallada, consulte el tema Bucles .

hacer mientras

do-while bucle do-while while primero ejecuta un bloque de código una vez, en cada caso, luego itera a través de ese bloque de código siempre que una condición específica sea verdadera.

$i = 0;
do {
    $i++;
    echo $i;
} while ($i < 10);

Output: `12345678910`

Para obtener información detallada, consulte el tema Bucles .

ir

El operador goto permite saltar a otra sección en el programa. Está disponible desde PHP 5.3.

La instrucción goto es un goto seguido de la etiqueta de destino deseada: goto MyLabel; .

El objetivo del salto se especifica mediante una etiqueta seguida de dos puntos: MyLabel:

Este ejemplo imprimirá Hello World! :

<?php
goto MyLabel;
echo 'This text will be skipped, because of the jump.';
 
MyLabel:
echo 'Hello World!';
?>

declarar

declare se utiliza para establecer una directiva de ejecución para un bloque de código.

Se reconocen las siguientes directivas:

Por ejemplo, establezca marcas en 1:

declare(ticks=1);

Para habilitar el modo de tipo estricto, la declare declaración se utiliza con la declaración strict_types :

declare(strict_types=1);

si mas

La instrucción if en el ejemplo anterior permite ejecutar un fragmento de código, cuando se cumple la condición. Cuando desea ejecutar un fragmento de código, cuando no se cumple la condición, puede extender el if con else .

if ($a > $b) {
  echo "a is greater than b";
} else {
  echo "a is NOT greater than b";
}

Manual de PHP - Estructuras de control - Si no

El operador ternario como sintaxis abreviada para if-else

El operador ternario evalúa algo basándose en que una condición es verdadera o no. Es un operador de comparación y se usa a menudo para expresar una condición simple en caso de que exista en una forma más corta. Permite probar rápidamente una condición y, a menudo, reemplaza una línea multilínea if, lo que hace que su código sea más compacto.

Este es el ejemplo anterior utilizando una expresión ternaria y valores de variables: $a=1; $b=2;

echo ($a > $b) ? "a is greater than b" : "a is NOT greater than b";

Salidas: a is NOT greater than b .

incluir y requerir

exigir

require es similar a include , excepto que producirá un error de nivel E_COMPILE_ERROR fatal en E_COMPILE_ERROR error. Cuando el require falla, detendrá el script. Cuando la include falla, no detendrá la secuencia de comandos y solo emitirá E_WARNING .

require 'file.php';

Manual de PHP - Estructuras de control - Requerir

incluir

La declaración de include incluye y evalúa un archivo.

./variables.php

$a = 'Hello World!';

. / main.php`

include 'variables.php';
echo $a;
// Output: `Hello World!`

Tenga cuidado con este enfoque, ya que se considera un olor de código , ya que el archivo incluido está modificando la cantidad y el contenido de las variables definidas en el alcance dado.


También puede include archivo, que devuelve un valor. Esto es extremadamente útil para manejar matrices de configuración:

configuracion.php

<?php 
return [
    'dbname' => 'my db',
    'user' => 'admin',
    'pass' => 'password',
];

main.php

<?php
$config = include 'configuration.php';

Este enfoque evitará que el archivo incluido contamine su alcance actual con variables modificadas o agregadas.

Manual de PHP - Estructuras de control - Incluir


include & require también se puede usar para asignar valores a una variable cuando se devuelve algo por archivo.

Ejemplo:

archivo include1.php:

<?php
    $a = "This is to be returned";

    return $a;
?>

archivo index.php:

    $value = include 'include1.php';
   // Here, $value = "This is to be returned"

regreso

La declaración de return devuelve el control del programa a la función de llamada.

Cuando se llama a return desde dentro de una función, la ejecución de la función actual terminará.

function returnEndsFunctions()
{
   echo 'This is executed';
   return;
   echo 'This is not executed.';
}

Cuando ejecutas returnEndsFunctions(); obtendrás la salida This is executed ;

Cuando se llama a return dentro de una función con y argumento, la ejecución de la función actual finalizará y el valor del argumento se devolverá a la función que llama.

para

for bucles se utilizan normalmente cuando tienes un fragmento de código que deseas repetir un número determinado de veces.

for ($i = 1; $i < 10; $i++) {
    echo $i;
}

Salidas: 123456789

Para obtener información detallada, consulte el tema Bucles .

para cada

foreach es una construcción, que le permite iterar sobre matrices y objetos fácilmente.

$array = [1, 2, 3];
foreach ($array as $value) {
    echo $value;
}

Salidas: 123 .

Para usar el bucle foreach con un objeto, debe implementar la interfaz Iterator .

Cuando iteras sobre matrices asociativas:

$array = ['color'=>'red']; 

foreach($array as $key => $value){
    echo $key . ': ' . $value; 
}

Salidas: color: red

Para obtener información detallada, consulte el tema Bucles .

si otra cosa más

elseif

elseif combina if y if else . La instrucción if se extiende para ejecutar una instrucción diferente en caso de que la expresión original if no se cumpla. Pero, la expresión alternativa solo se ejecuta cuando se cumple la expresión condicional elseif .

El siguiente código muestra "a es más grande que b", "a es igual a b" o "a es más pequeño que b":

if ($a > $b) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}

Varias declaraciones de elseif

Puede usar varias sentencias elseif dentro de la misma sentencia if:

if ($a == 1) {
    echo "a is One";
} elseif ($a == 2) {
    echo "a is Two";
} elseif ($a == 3) {
    echo "a is Three";
} else {
    echo "a is not One, not Two nor Three";
}

Si

La construcción if permite la ejecución condicional de fragmentos de código.

if ($a > $b) {
  echo "a is bigger than b";
}

Manual de PHP - Estructuras de control - Si

cambiar

La estructura del switch realiza la misma función que una serie de sentencias if , pero puede hacer el trabajo en menos líneas de código. El valor que se va a probar, como se define en la declaración de switch , se compara para igualar con los valores en cada una de las declaraciones de case hasta que se encuentra una coincidencia y se ejecuta el código en ese bloque. Si no se encuentra una declaración de case coincidente, se ejecuta el código en el bloque default , si existe.

Cada bloque de código en un case o declaración por default debe terminar con la declaración de break . Esto detiene la ejecución de la estructura del switch y continúa la ejecución del código inmediatamente después. Si se omite la instrucción break , se ejecuta el código de la siguiente declaración de case , incluso si no hay coincidencia . Esto puede causar la ejecución inesperada del código si se olvida la instrucción break , pero también puede ser útil cuando varias declaraciones de case necesitan compartir el mismo código.

switch ($colour) {
case "red":
    echo "the colour is red";
    break;
case "green":
case "blue":
    echo "the colour is green or blue";
    break;
case "yellow":
    echo "the colour is yellow";
    // note missing break, the next block will also be executed
case "black":
    echo "the colour is black";
    break;
default:
    echo "the colour is something else";
    break;
}

Además de probar valores fijos, la construcción también puede ser obligada a probar declaraciones dinámicas al proporcionar un valor booleano a la instrucción switch y cualquier expresión a la declaración del case . Tenga en cuenta que se utiliza el primer valor coincidente, por lo que el siguiente código dará como resultado "más de 100":

$i = 1048;
switch (true) {
case ($i > 0):
    echo "more than 0";
    break;
case ($i > 100):
    echo "more than 100";
    break;
case ($i > 1000):
    echo "more than 1000";
    break;
}

Para posibles problemas con la escritura suelta mientras se usa la construcción del switch , consulte Cambiar sorpresas



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow