No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

脷ltima oportunidad para asegurar tu aprendizaje por 1 a帽o a precio especial

Antes: $249

Currency
$189/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscr铆bete

Termina en:

0D
6H
40M
23S
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 25

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

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)

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.

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.

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

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.

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 鈥淭endr谩n sus espacios en la parte inferior de la bodega.鈥;
break;
case ($edad >=5 && $edad <=7):
echo 鈥淭endr谩n sus espacios en la parte alta de la bodega.鈥;
break;
case ($edad > 7):
echo 鈥淭endr谩n sus espacios en la parte alta de la bodega.鈥;
break;
default:
echo 鈥淭endr谩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

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

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 鈥渆rror鈥 y no cuando todo va super鈥

En el ejemplo mostrado:

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

Con un 鈥渆rror鈥 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;
}

?>