Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

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 14

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

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)

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.

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

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.

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

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

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.

$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;

}

?>

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

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";

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;
}

?>