No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Práctico de PHP

Curso Práctico de PHP

Ana Belisa Martínez

Ana Belisa Martínez

Estructuras de control con PHP

6/17
Recursos

Aportes 26

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

6:17 Si utilizamos un arreglo asociativo con clave y valor para sus elementos, la estructura de control foreach queda de la siguiente manera:

<?php
$arreglo = [
    'color' => 'verde',
    'lugar' => 'playa',
    'año' => 2021
];

foreach($arreglo as $llave => $valor) {
    echo $llave . ' = ' . $valor . PHP_EOL;
}

y la salida es:

color = verde
lugar = playa
año = 2021  

6. Estructuras de control con PHP

Vamos a aprender sobre estructuras de control. En total en esta clase de vieron 7 estructuras de control (hice un resumen de la clase):
.






.
Comparto el código hecho en clase y de los ejemplos que he hecho (mucho está comentado y es mejor si lo ven en el navegador que la terminal, por los saltos de línea que he agregado):

<?php
/*
//If

$valorA = 10;

if ($valorA == 10){
    echo "Es igual a 10 <br>";
} else {
    echo "No es igual a 10 <br>";
}

// while / do while
$i = 0;

while($i <= 10){
    echo $i++ . "<br>";
}

$j = 0;

do{
    echo $j++ . "<br>";

}while($j<=10);

// for / for each

$array = [1,2,3,4];

for ($i = 0; $i<4; $i++){
    echo "$array[$i] <br>";
}

foreach($array as $value) {
    echo "$value <br>";
}

//switch

$valorA = 3;

switch($valorA){
    case 1:
        echo "El valor es 1<br>";
        break;
    case 2:
        echo "El valor es 2<br>";
        break;
    case 3:
        echo "El valor es 3<br>";
        break;
    default:
        echo "No es ninguno de los valores 1, 2 o 3";
        break;
}

//carbon

$age = 17;

if($age < 18){
    echo "No se permite el ingreso!";
} else if($age >= 18){
    echo "Ingreso autorizado";
}

$number = 10;

while($number >= 0){
    echo "Quedan $number segundo(s)<br>";
    $number--;
}

$number = 1;

do {
    echo "Este número es mayor a 10<br>";
    $number++;
}while($number > 10);

for($i = 0; $i < 10 ; $i++){
    echo "Han pasado $i segundo(s)<br>";
}

$favoriteFruits = ['Fresa', 'Naranja', 'Mandarina', 'Manzana'];

echo "Mis frutas favoritas son:<br>";

foreach($favoriteFruits as $value){
    echo "$value<br>";
}
*/

$note = 'C';

switch($note){
    case 'A':
        echo "Tienes $note como nota, excelente!";
        break;
    case 'B':
        echo "Tienes $note como nota, bien, puedes mejorar.";
        break;
    case 'C':
        echo "Tienes $note como nota, debes volver a rendir el examen.";
        break;
    case 'D':
        echo "Tienes $note como nota, reprobaste.";
        break;
    default:
        echo "$note es una nota incorrecta.";
        break;
}
```![3est.png](https://static.platzi.com/media/user_upload/3est-2c93de2e-91cc-4df7-a782-5de6dcd0d2a4.jpg)

Me parece importante mencionar que desde la versión 8 de php existe una alternativa bastante mejor a switch que es match.

He aquí un ejemplo de la documentación oficial:
.

php 7 (switch)

switch (8.0) {
  case '8.0':
    $result = "Oh no!";
    break;
  case 8.0:
    $result = "This is what I expected";
    break;
}
echo $result;
//> Oh no!

.

php 8 (match)

echo match (8.0) {
  '8.0' => "Oh no!",
  8.0 => "This is what I expected",
};
//> This is what I expected

Aunque aún se pueda utilizar switch resulta mejor usar match en la mayoría de los casos.

Vale la pena recordar que al usar el código

$i++

Estamos haciendo un post-incremento, es decir, que primero hacemos la asignación (o en este caso, mostramos el valor) y después hacemos la operación de sumarle uno a nuestra variable $i.

Buenas.
Aclaración desde mi pequeña experiencia
.
Vengo siguiendo la ruta de Desarrollo con Wordpress, hago los cursos en orden y estoy entendiendo todo ok.
Si alguno siente que a la profe le falta explicar cosas, entiendo que es porque este es el tercer curso de PHP. Sería como un repaso.
.
Aquí están los dos primeros

Básico de PHP 1 Instalación, Fundamentos y Operadores
Básico de PHP 2 Arreglos y Funciones

Me parece una buena práctica evitar la etiqueta de cierre cuando nuestro código es todo PHP.
Si tenemos algún comentario después

?>


hola

el intérprete no lo tendrá en cuenta pero lo mostrará cuando se ejecute el archivo; sin la etiqueta ?> arrojará un error poniendo en evidencia esa línea.

La gran diferencia entre las estructuras de control while y do while es que la segunda realiza las operaciones contenidas al menos una vez.

Si sientes que es difícil. No se preocupen estamos aquí para aprender.

Lamento decir que esta no es una buena clase de Curso practico de PHP, y ni siquiera es buena clase de Estructuras de control basicas en PHP

ya que no explican bien el funcionamiento del for, no te explican los 3 valores basicos que lleva un for… solo lo dan por sentado…

porfavor si van a ser una escuela seria, pongan mas atencion en sus clases, ya que esta no tiene continuidad con el curso anterior

Mejore el Código del ejemplo de SWITCH:

vemos en el ejemplo que es muy largo y repetitivo, a la vez no acepta numero float.
acá el código para mejorar el código. Muy buena clase!

$valorA = readline("ingreasa un valor del 1 al 3: ");

switch($valorA) {
    case $valorA <= 3:
        echo "valor es: " . $valorA;
    break;
    default:
    echo "valor no existe";
    break;
}

echo "\n";

A partir de la versión 8 de PHP, se puede usar de forma análoga a la estructura Case, la estructura Match. La estructura Match tiene algunas pequeñas diferencias, siendo mas completa que Case, como se puede ver en el siguiente enlace https://www.php.net/manual/es/control-structures.match.php

$edad = 4;

switch ($edad){
case ($edad < 5):
echo “Tendrán sus espacios en la parte inferior de la bodega.”;
break;
case ($edad >=5 && $edad <=7):
echo “Tendrán sus espacios en la parte alta de la bodega.”;
break;
case ($edad > 7):
echo “Tendrán sus espacios en la parte alta de la bodega.”;
break;
default:
echo “Tendrán un espacio de almacenamiento en la bodega de al lado.”;
break;

}

?>

he visto el curso dos veces solo para seguir viendo… ❤️

for
if
else
while
switch

***//\* WHILE / DO-WHILE*** *//? se encargan de ejecutar una accion mientras sucede algo* ```js $x = -5; while ($x <= 10) { echo $x++ . "\n"; } ```

Estructuras de control en PHP

Las estructuras de control en PHP permiten controlar el flujo de ejecución de un programa. Las siguientes son las estructuras de control disponibles en PHP:

if

La estructura if se utiliza para ejecutar un bloque de código si una condición se evalúa como verdadera. La sintaxis básica de la estructura if es la siguiente:

if (condición) {
    // Código a ejecutar si la condición es verdadera
}

Ejemplo:

$numero = 10;

if ($numero > 5) {
    echo "El número es mayor que 5";
}
// Salida esperada: El número es mayor que 5

else

La estructura else se utiliza para ejecutar un bloque de código si la condición de la estructura if se evalúa como falsa. La sintaxis básica de la estructura else es la siguiente:

if (condición) {
    // Código a ejecutar si la condición es verdadera
} else {
    // Código a ejecutar si la condición es falsa
}

Ejemplo:

$numero = 3;

if ($numero > 5) {
    echo "El número es mayor que 5";
} else {
    echo "El número no es mayor que 5";
}
// Salida esperada: El número no es mayor que 5

while

La estructura while se utiliza para ejecutar un bloque de código mientras una condición se evalúa como verdadera. La sintaxis básica de la estructura while es la siguiente:

while (condición) {
    // Código a ejecutar mientras la condición sea verdadera
}

Ejemplo:

$numero = 1;

while ($numero <= 10) {
    echo $numero . " ";
    $numero++;
}
// Salida esperada: 1 2 3 4 5 6 7 8 9 10

do while

La estructura do while es similar a la estructura while, pero el bloque de código se ejecuta al menos una vez, sin importar si la condición es verdadera o falsa. La sintaxis básica de la estructura do while es la siguiente:

do {
    // Código a ejecutar al menos una vez
} while (condición);

Ejemplo:

$numero = 1;

do {
    echo $numero . " ";
    $numero++;
} while ($numero <= 10);
// Salida esperada: 1 2 3 4 5 6 7 8 9 10

for

La estructura for se utiliza para ejecutar un bloque de código un número específico de veces. La sintaxis básica de la estructura for es la siguiente:

for (inicialización; condición; incremento o decremento) {
    // Código a ejecutar mientras se cumpla la condición
}

Ejemplo:

for ($i = 1; $i <= 10; $i++) {
    echo $i . " ";
}
// Salida esperada: 1 2 3 4 5 6 7 8 9 10

foreach

La estructura foreach se utiliza para iterar sobre un arreglo. La sintaxis básica de la estructura foreach es la siguiente:

foreach ($arreglo as $valor) {
    // Código a ejecutar para cada valor del arreglo
}

Ejemplo:

$frutas = array("manzana", "naranja", "plátano");

foreach ($frutas as $fruta) {
    echo $fruta . " ";
}
// Salida esperada: manzana naranja plátano

switch

La estructura switch se utiliza para ejecutar diferentes bloques de código en función del valor de una variable. La sintaxis básica de la estructura switch es la siguiente:

switch ($variable) {
    case valor1:
        // Código a ejecutar si la variable es igual a valor1
        break;
    case valor2:
        // Código a ejecutar si la variable es igual a valor2
        break;
    default:
        // Código a ejecutar si la variable no es igual a ningún valor
}

Ejemplo:

$dia = "miércoles";

switch ($dia) {
    case "lunes":
        echo "Hoy es lunes";
        break;
    case "martes":
        echo "Hoy es martes";
        break;
    case "miércoles":
        echo "Hoy es miércoles";
        break;
    default:
        echo "Hoy no es un día de la semana";
}
// Salida esperada: Hoy es miércoles

Estas son las estructuras de control básicas en PHP que te permitirán controlar el flujo de ejecución de un programa.

crear servidor para ejecutar el codigo php en windows:

ubicarse en la carpeta donde tenemos nuestro index.php:
cd C:\usuario\Curso-practico-php\ php -S localhost:8000

luego en el navegador ingresar a la siguiente direccion: localhost:8000

Tabla del 2 hecha con bucle for

<?php
   ?>  
        <h3>Bucle for</h3>
        <br>
        <p><strong>Tabla del 2</strong></p>
    <?php
    $base = 2;
    for ($i=0; $i <= 10; $i++) { 
        ?>
            <pre><?= $i ?> x <?= $base ?> = <?= $i*$base; ?></pre>
        <?php
    }

    ?> 

resultado:

0 x 2 = 0
1 x 2 = 2
2 x 2 = 4
3 x 2 = 6
4 x 2 = 8
5 x 2 = 10
6 x 2 = 12
7 x 2 = 14
8 x 2 = 16
9 x 2 = 18
10 x 2 = 20

Esto necesitaba repasar

En un comentario vi sobre match 💚

Me parece que le dare un mejor uso que switch

$valorA = readline("Dame ese valor plis 🐱‍👤 \n");

echo match ($valorA){
'Valor A' => "Este es el primer valor\n",
'Valor B' => "Este es el segundo valor\n",
'Valor C' => "Este es el tercer valor\n",
default => "I DO NOT HAVE THAT😔`\n",
};

un ejemplo un poco mas claro para di-while, sería con un “error” y no cuando todo va super…

En el ejemplo mostrado:

$i = 0;
do {
	echo $i++ . "\n";
} while ($i <= 10); //Muestra 012345678910

Con un “error” podría ser:

$i = 21;
do {
	echo $i++ . "\n";
} while ($i <= 10); // Muestra 21

Muestra 21 porque porque el ++ después de $i, lo hace despues de mostrarlo (precedencia). Y no escribe más porque la condición ya no es válida para intentar hacerlo más veces.

con todo respeto creo que la manera de explicar los temas de esta maestra no es la mejor. deberian actualizar este curso y colocar a alguien que tenga habilidades de pedagogia mas marcadas.

Recuerda que while ejecuta toda la instrucción de adentro si cumple con la condición, es importante agregar condición de parada. La diferencia del do- while es que se ejecutan las instrucciones internas al menos una vez. Yo los aplico mucho para realizar menú

Las estructuras de con trol son herramientas para realizar iteraciones y validar si es verdadero o falso

7:33
El comando break indica que ya no se deben evaluar el resto de las condiciones y el intérprete de PHP sale del switch.
El siguiente ejemplo hará echo de la variable $valor sólo una vez:

<?php
$valor = 23;

switch($valor) {
    case 23:
        echo $valor;
    break;
    case 23:
        echo $valor;
    break;
    default:
        echo "no es el 23";
    break;
}

También se pueden usar variables alfanuméricas:

<?php
$valor = "veintitrés";

switch($valor) {
    case "veintitres":
        echo $valor;
    break;
    case "veintitrés":
        echo $valor;
    break;
    case "23":
        echo $valor;
    break;
    default:
        echo "no es el 23";
    break;
}
<?php 

$valorA = 10;
if ($valorA === 10) {
    echo "Es igual a 10\n";
} else {
    echo "No es igual a 10\n";
}

$contador = 0;
while ($contador < 10) {
    echo $contador;
    echo "\n";
    $contador += 1;
}

$contadoor = 0;
do {
    echo $contadoor;
    echo "\n";
    $contadoor += 1;
} while ($contadoor < 10);

// Creando Arrays
$arr = array(1, 2, 3, 4);
for($i = 0; $i < 4; $i++) {
    echo $arr[$i];
    echo "\n";
}

$arra2 = array(10, 20, 30);
foreach($arra2 as $datos) {
    echo $datos;
    echo "\n";
}

$ValorUn = 10;
switch ($ValorUn) {
    case 10:
        echo "ES 10 \n";
        break;
    case 20:
        echo "Es 20 \n ";
    default:
        echo "NO es ningun resultado \n";
        break;
}

?>