A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Bloques de c贸digos sencillos en PHP

9/19
Recursos

Aportes 69

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

RESUMEN:

Condici贸n:
Digamos que se desea validar si una persona es mayor de edad (Mayor a 18 a帽os)

if ($edad >= 18) {
    echo "ES MAYOR DE EDAD";
} else {
    echo "ES MENOR DE EDAD";
}

Switch:
Digamos que tenemos Opci贸n 1,2 o 3 en vez de hacer un if por cada opci贸n hacemos:

switch ($opcionEscogida) {
    case 1:
        echo "ELIGI脫 LA OPCI脫N 1";
        break;
    
    case 2:
        echo "ELIGI脫 LA OPCI脫N 2";
        break;

    case 3:
        echo "ELIGI脫 LA OPCI脫N 3";
        break;
    
    default:
        echo "ELIGI脫 UNA OPCI脫N DIFERENTE";
        break;
}

For
Se utiliza este ciclo si sabemos exactamente cu谩ntas repeticiones necesitamos, por ejemplo los n煤meros del 1 al 5:

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

// RESULTADO: 12345

While
Si no conocemos cu谩ntas repeticiones usamos este ciclo:

while ($opcion != 0) {
    echo "ESTE CICLO NO ACABA HASTA QUE Opcion sea diferente a 0";
}

Extra: if simplificado
Podemos hacer un if sencillo en una sola l铆nea de la siguiente manera:

// Condici贸n ? Si es Verdadero : Si es Falso ;
echo true ? "CUMPLE LA CONDICI脫N" : "NO CUMPLE LA CONDICI脫N";

Muchos de los bloques de c贸digo mostrados aqu铆 se explican en el Curso Gratuito de Programaci贸n B谩sica

En el caso del foreach, es algo 鈥渆xclusivo鈥 de PHP, b谩sicamente, comparando con JavaScript, cuando tu pones un foreach con el 鈥渁s $key鈥 es como si tuvieras un for鈥n en JavaScript, si pones un foreach SIN el 鈥渁s $key鈥 es como si tuvieras un for鈥f en JavaScript

Quiz谩s esto les ayude a entender mas el foreach

$numeros = [1,2,3,4,5];

foreach ($numeros as $indice => $valor) {
     echo "{$indice} => {$valor}";
     echo "<br>";
}

Salida

Bloques de c贸digo PHP: Es lo que nos permite alterar el flujo de nuestro c贸digo o proyecto en PHP

Bloques de c贸digos sencillos


<h3>Condici贸n:</h3>

Creamos una condici贸n y dependiendo de si cumple o no, ejecutar谩 uno de los bloques de c贸digo que le corresponda a la condici贸n. Ejemplo:

<?php

$valeria_years = 19;

if ($valeria_years >= 18) {
    echo `${$valeria_years} es mayor de edad.`;
} else {
    echo `${$valeria_years} es menor de edad.`;
}
<h3>Switch:</h3>

Cuando tengamos una condicional que tiene muchas opciones de respuesta, manejaremos Switch, esta eval煤a una expresi贸n, comparando el valor de esa expresi贸n con una instancia case, y ejecuta declaraciones asociadas a ese case. Ejemplo:

<?php

switch ($rankin_carrera) {
    case 1:
        echo `Quedo de primer lugar`;
        break;
    
    case 2:
        echo `Quedo de segundo lugar`;
        break;

    case 3:
        echo `Quedo de tercer lugar`;
        break;
    
    default:
        echo `A quedado de fuera de podio`;
        break;
}
<h3>Foreach:</h3>

Nos deja crear un ciclo que terminar谩 cuando la condici贸n no consiga m谩s datos, hay que recalcar que este solo funciona con Arrays o Objetos. Ejemplo:

<?php

foreach ($datos as $row) {
    # code...
}
<h3>While:</h3>

Nos deja crear un ciclo que terminar谩 cuando la condici贸n no s茅 cumpla, hay que tener cuidado con este tipo de ciclos ya que puede sobrecargar a la maquina y crear un loop infinito. Ejemplo:

<?php

$a = 1;
while ($a <= 10) {
    # code...
    $a++;
}

// Esta estructura se utiliza para que el c贸digo se
// ejecute al menos una sola vez
do {
    # code...
} while ($a <= 10);
<h3>For:</h3>

Nos deja crear un ciclo que terminar谩 cuando la condici贸n no se cumpla m谩s, normalmente se ejecuta por n煤mero de veces que se va ejecutar. Ejemplo:

<?php

for ($i = 0; $i <= 15; $i++) { 
    echo `Ciclo n煤mero ${$i}`
}

Ojito el nombre correcto de todo esto es estructuras de control

cuando tenemos m谩s de tres condiciones seria interesante utilizar directamente switch, se cumple el mismo objetivo con if pero es una especie de condiciones m谩s organizadas.

馃 Los bloques de c贸digo son indispensables para controlar el flujo de nuestra aplicaci贸n. La condici贸n de estas es indispensable.

$a = 1;
while ($a <= 10) {
    $a++;
}
<?php
$age = 27;
$salary = 300000;

/**
 * El constructor if es una de las caracter铆sticas m谩s importantes de muchos lenguajes, incluido PHP. 
 * Permite la ejecuci贸n condicional de fragmentos de c贸digo.
 * 
 * La expresi贸n es evaluada a su valor booleano, si la expresi贸n se eval煤a como true, PHP ejecutar谩 la sentencia y si se eval煤a como false la ignorar谩. 
 */

// Sample if
if ($age >= 21) {
    echo "<h3>1.- Eres mayor de edad!</h3>";
}

// Without circle braces
if (21 === 21)
    echo "<h3>2.- Felices 21!</h3>";

// Sample if-else
if ($age > 21) {
    echo "<h3>3.- Eres mayor de edad!</h3>";
} else {
    echo "3.- <h3>Aun eres menor de edad!</h3>";
}
?>


<!-- Las sentencias if pueden anidarse dentro de otra sentencias if infinitamente, 
    lo cual provee completa flexibilidad para la ejecuci贸n condicional de diferentes partes del programa. -->


<?php
$age = 20;
if ($age >= 21) :
?>
    <!-- html code to run if condition is true -->
    <h3>4.- Eres mayor de edad!</h3>
<?php else : ?>
    <!-- html code to run if condition is false -->
    <h3>4.- Aun eres menor de edad!</h3>
<?php endif ?>


<?php
// Another way for controls is the ternary operator
$v = 1;

$r = (1 == $v) ? 'Yes' : 'No';      // $r is set to 'Yes'
echo "<br><li>" . $r . "</li>";

$r = (3 == $v) ? 'Yes' : 'No';      // $r is set to 'No'
echo "<br><li>" . $r . "</li>";



// Short ternary
$myAge = $age ?: 18;    // Equivalent of "$age ? $age : 18"

echo "<pre>";
var_dump($myAge);
echo "</pre>";


// Difference between == and ===
$age == 20;     // true
$age == '20';   // true

$age === 20;    // true
$age === '20';  // false



/** Operadores l贸gicos
 * Ejemplo	        Nombre	            Resultado
 * 
 * $a and $b	    And (y)	            true si tanto $a como $b son true.
 * $a or $b	        Or (o inclusivo)	true si cualquiera de $a o $b es true.
 * $a xor $b	    Xor (o exclusivo)	true si $a o $b es true, pero no ambos.
 * ! $a	            Not (no)	        true si $a no es true.
 * $a && $b	        And (y)	            true si tanto $a como $b son true.
 * $a || $b	        Or (o inclusivo)	true si cualquiera de $a o $b es true.
 */

// if AND
if ($age >= 20 && $salary === 300000) {
    echo "<br>馃啑!" . PHP_EOL;
}

// if OR
if ($age >= 20 or $salary === 300000) {
    echo "<br>鉂" . PHP_EOL;
}



// Null coalescing operator
$var = isset($name) ? $name : 'John';
$var = $name ?? 'John';     // Equivalent of above
echo "<br>" . $var . '<br>';



// switch
$userRole = 'admin'; // admin, editor, user

switch ($userRole) {
    case 'admin':
        echo '<br><li>You can do anything</li>';
        break;
    case 'editor';
        echo '<br><li>You can edit content</li>';
        break;
    case 'user':
        echo '<br><li>You can view posts and comment</li>';
        break;
    default:
        echo '<br><li>Unknown role</li>';
}
?>



<?php
echo "<h3>While loop</h3>";

// Loop with $counter
$counter = 0; // When counter is 10??
while ($counter < 10) {
    echo $counter . '<br>';
    // if ($counter > 5) break;
    $counter++;
}



echo "<h3>do - while loop</h3>";

// do - while
$counter = 0; // When counter is 10?
do {
    // Do some code right here
    echo $counter . "<br>";
    $counter++;
} while ($counter < 10);



echo "<h3>for loop</h3>";

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



echo "<h3>foreach loop</h3>";

// foreach
$fruits = ["Banana", "Apple", "Orange"];
foreach ($fruits as $i => $fruit) {
    echo $i . ' - ' . $fruit . '<br>';
}



echo "<h3>Iterate Over associative array</h3>";

// Iterate Over associative array.
$person = [
    'name' => 'Brad',
    'surname' => 'Traversy',
    'age' => 30,
    'hobbies' => ['Tennis', 'Video Games'],
];

foreach ($person as $key => $value) {
    if ($key === 'hobbies') {
        echo $key . ' ' . implode(', ', $value) . "<br>";
        break;
    } else {

        echo $key . ' ' . $value . '<br>';
    }
}
?>

Como reto personal, he realizado los 11 retos del 鈥淧rimer Nivel鈥, aunque me tom贸 casi dos d铆as porque reci茅n estoy aprendiendo PHP, me siento contento con el resultado, se los comparto, qued贸 as铆:

Les comparto el c贸digo:
PHP

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="shortcut icon" href="./assets/img/favicon.ico" type="image/x-icon">
    <link rel="stylesheet" href="./css/style.css">
    <title>Retos!</title>
</head>
<body>
    <header class="header">
        <div class="header-spacer"></div>
    </header>
    <main class="main">
        <div class="main-title--container">
            <h1>Retos PHP: Parte 1</h1>
        </div>
        <section class="main-challenges--container">
            <div class="box">
                <h3>Reto 1: Hola Mundo</h3>
                <?php
                echo "Hola Mundo!"
                ?>
            </div>
            <div class="box">
                <h3>Reto 2: Hola... nombre y apellido</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar Nombre:</span>
                            <input type="text" name="name1" id="name1">
                        </div>
                        <div class="input--container">
                            <span>Ingresar Apellido:</span>
                            <input type="text" name="lastName1" id="lastName1">
                        </div>
                        <input type="submit" name="submit1" value="Calcular"></input>
                    </form>
                </div>
                <?php
                if(isset($_POST["submit1"]) && !empty($_POST["submit1"])){
                    $name1 = $_POST["name1"];
                    $lastName1 = $_POST["lastName1"];
                    echo "Hola, " . $name1 . " " . $lastName1 . ".</b>";
                }
                ?>
            </div>
            <div class="box">
                <h3>Reto 3: Imprimir un mensaje de 6 categor铆as</h3>
                <?php
                $count = 0;
                $courses = ["Math", "Science", "Geography", "Art", "English", "Music"];
                echo "We have these courses:" . "<br/>";
                while ($count<6) {
                    echo $courses[$count] . "<br/>";
                    $count++;
                }
                ?>
            </div>
            <div class="box">
                <h3>Reto 4: Suma de enteros con redondeo a dos decimales:</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar primer n煤mero:</span>
                            <input type="number" name="number1" id="number1" step="any">
                        </div>
                        <div class="input--container">
                            <span>Ingresar segundo n煤mero:</span>
                            <input type="number" name="number2" id="number2" step="any">
                        </div>
                        <input type="submit" name="submit2" value="Calcular"></input>
                    </form>
                </div>
                <?php
                if(isset($_POST["submit2"]) && !empty($_POST["submit2"])){
                    $number1 = $_POST["number1"];
                    $number2 = $_POST["number2"];
                    $sum1Result = $number1 + $number2;
                    echo $number1 . " + " . $number2 . " = " . round($sum1Result, 2);
                }
                ?>
            </div>
            <div class="box">
                <h3>Reto 5: Suma y Multiplicaci贸n, con redondeo de resultado</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar primer n煤mero:</span>
                            <input type="number" name="number3" id="number3" step="any">
                        </div>
                        <div class="input--container">
                            <span>Ingresar segundo n煤mero:</span>
                            <input type="number" name="number4" id="number4" step="any">
                        </div>
                        <div class="input--container">
                            <span>Ingresar tercer n煤mero:</span>
                            <input type="number" name="number5" id="number5" step="any">
                        </div>
                        <input type="submit" name="submit3" value="Calcular"></input>
                    </form>
                </div>
                <?php
                if(isset($_POST["submit3"]) && !empty($_POST["submit3"])){
                    $number3 = $_POST["number3"];
                    $number4 = $_POST["number4"];
                    $number5 = $_POST["number5"];
                    $sum2Result = ($number3 + $number4) * $number5;
                    echo "(" . $number3 . " + " . $number4 . ") * " . $number5 . " = " . round($sum2Result);
                }
                ?>
            </div>
            <div class="box">
                <div class="main-title--container">
                <h3>Reto 6: Resta de Pizzas</h3>
                </div>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar rebanadas de pizza iniciales:</span>
                            <input type="number" name="number6" id="number6">
                        </div>
                        <div class="input--container">
                            <span>Ingresar rebanadas consumidas:</span>
                            <input type="number" name="number7" id="number7">
                        </div>
                        <input type="submit" name="submit4" value="Calcular"></input>
                    </form>
                </div>
            <?php
                if(isset($_POST["submit4"]) && !empty($_POST["submit4"])){
                    $number6 = $_POST["number6"];
                    $number7 = $_POST["number7"];
                    if($number6<$number7) {
                        echo "Hey, no puedes comer m谩s rebanadas de las que trajiste, vuelve a intentarlo :).";
                    }
                    else {
                        $slicesLeft = $number6 - $number7;
                        echo "Ten铆as " . $number6 . " rebanada(s), y consumiste " . $number7 . ". Ahora solo te quedan: " . $slicesLeft . " rebanada(s).";
                    }
                }
            ?>
            </div>
            <div class="box">
                <h3>Reto 7: Edad futura y pasada!</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar Nombre:</span>
                            <input type="text" name="name2" id="name2">
                        </div>
                        <div class="input--container">
                            <span>Ingresar edad actual:</span>
                            <input type="number" name="age1" id="age1">
                        </div>
                        <input type="submit" name="submit5" value="Calcular"></input>
                    </form>
                </div>
                <?php
                if(isset($_POST["submit5"]) && !empty($_POST["submit5"])){
                    $name2 = $_POST["name2"];
                    $age1 = $_POST["age1"];
                    if($age1-1===0) {
                        echo $name2 . ", el a帽o pasado ten铆as 0 a帽os, y el pr贸ximo a帽o
                        tendr谩s 2 a帽os.";
                    }
                    else {
                        echo $name2 . ", el a帽o pasado ten铆as " . ($age1 - 1) . " a帽os, y el pr贸ximo a帽o
                        tendr谩s " . ($age1 + 1) . " a帽os.";
                    }
                }
                ?>
            </div>
            <div class="box">
                <h3>Reto 8: Divide la cuenta!</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar total a pagar:</span>
                            <input type="number" name="number8" id="number8" step="any">
                        </div>
                        <div class="input--container">
                            <span>驴Entre cu谩ntas personas pagar谩n?</span>
                            <input type="number" name="number9" id="number9">
                        </div>
                        <div class="input--container">
                            <span>驴Cu谩nto porcentaje de propina dejar谩n?</span>
                            <input type="number" name="number10" id="number10">
                        </div>
                        <div class="input--container">
                            <span>驴Cu谩nto es el porcentaje de impuestos?</span>
                            <input type="number" name="number11" id="number11">
                        </div>
                        <input type="submit" name="submit6" value="Calcular"></input>
                    </form>
                </div>
                <?php
                if(isset($_POST["submit6"]) && !empty($_POST["submit6"])){
                    $number8 = $_POST["number8"];
                    $number9 = $_POST["number9"];
                    $number10 = $_POST["number10"];
                    $number11 = $_POST["number11"];
                    $finalPrice = ((($number11+100)/100)+($number10/100))*$number8;
                    $pricePerPerson = $finalPrice/$number9;
                    echo "Cuenta total (incluyendo " . $number11 . "% de impuestos y "
                    . $number10 . "% de propina): " . $finalPrice . ".</br>";
                    echo "Cada uno pagar谩: " . round($pricePerPerson,1) . ".</br>";
                }
                ?>
            </div>
            <div class="box">
                <h3>Reto 9: Calculando d铆as</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar cantidad de d铆as a calcular:</span>
                            <input type="number" name="number12" id="number12">
                        </div>
                        <input type="submit" name="submit7" value="Calcular"></input>
                    </form>
            </div>
                <?php
                if(isset($_POST["submit7"]) && !empty($_POST["submit7"])){
                    $number12 = $_POST["number12"];
                    $hours = $number12*24;
                    $minutes = $hours*60;
                    $seconds= $minutes*60;
                    echo $number12 . " d铆a(s) en horas, minutos y segundos es:</br>";
                    echo $hours . " horas, " . $minutes . " minutos o " . $seconds . " segundos.";
                }
                ?>
            </div>
            <div class="box">
                <h3>Reto 10: Conversor de millas</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar cantidad de millas a convertir:</span>
                            <input type="number" name="number13" id="number13">
                        </div>
                        <input type="submit" name="submit8" value="Calcular"></input>
                    </form>
            </div>
                <?php
                if(isset($_POST["submit8"]) && !empty($_POST["submit8"])){
                    $number13 = $_POST["number13"];
                    $MilesToKM = $number13 * 1.609344;
                    echo $number13 . " millas es " . $MilesToKM . " kil贸metros.";
                }
                ?>
            </div>
            <div class="box">
                <h3>Reto 11: Cu谩ntas veces un n煤mero en otro</h3>
                <div class="main-form--container">
                    <form action="" method="POST" class="main-form">
                        <div class="input--container">
                            <span>Ingresar primer n煤mero, mayor a 1000:</span>
                            <input type="number" name="number14" id="number14" min=1001>
                        </div>
                        <div class="input--container">
                            <span>Ingresar segundo n煤mero, menor a 100:</span>
                            <input type="number" name="number15" id="number15" max=99>
                        </div>
                        <input type="submit" name="submit9" value="Calcular"></input>
                    </form>
            </div>
                <?php
                if(isset($_POST["submit9"]) && !empty($_POST["submit9"])){
                    $number14 = $_POST["number14"];
                    $number15 = $_POST["number15"];
                    $howManyTimes = $number14/$number15;
                    echo "El n煤mero " . $number15 . " cabe " . floor($howManyTimes)
                    . " veces en el n煤mero " . $number14 . ".";
                }
                ?>
            </div>
        </section>
    </main>
</body>
</html>

CSS

/*Reset*/
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
/*Shared*/
:root {
    font-family: serif;
    --almost-black: rgb(16, 16, 16);
    --almost-white: rgb(235, 235, 235);
}
.header,
.main
{
    background-color: var(--almost-black);
    color: var(--almost-white);
    max-width: 100vw;
}
/*Header*/
.header .header-spacer {
    height: 20px;
}
/*Main*/
.main .main-title--container h1 {
    text-align: center;
    padding-bottom: 20px;
    text-decoration: underline;
}
.main-challenges--container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 10px;
}
.main-challenges--container .box {
    border: 3px solid white;
    border-radius: 8px;
    padding: 10px;
    max-width: 400px;
}
.main .main-challenges--container input {
    padding: 4px;
    border-radius: 4px;
    font-weight: bold;
}
.main .main-challenges--container input[type="submit"] {
    font-weight: bold;
}
.main .main-challenges--container .box .main-form--container .main-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 5px;
}
/*Media Queries*/
@media(min-width: 720px) {
    .main .main-challenges--container {
        display: grid;
        grid-template-columns: 22% 22% 22% 22%;
    }
    .main-challenges--container .box {
        height: 100%;
        max-width: 450px;
    }
    .main {
        min-height: calc(100vh - 20px);
    }
}

Recuerden: debemos usar la estructura que nos resuelve el problema mejor, aprender a identificarlas es parte del aprendizaje y crecimiento,
A PRACTICAR

<?php

if (condition) {
    # code...
} elseif (condition) {
    #code...
} else {
    #code...
}

switch ($login) {
    case true:
        #code...
    break;

    case false:
        #code...
    break;

    default:
        #code...
    break;
}

// Consulta, usuarios
foreach ($datos as $row) {
    # code...
}

$a = 1000;
while ($a <= 10) {
    # code...
    $a++;
}


do {
    # code...
} while ($a <= 10);


for ($i=0; $i <10 ; $i++) { 
    # code...
}

El nombre real, o t茅cnico de Bloques de c贸digo es: ++Estructuras de control. ++

Las estructuras de control son sentencias que permiten controlar c贸mo el c贸digo fluye en nuestro script bas谩ndose en ciertos factores. Son mayoritariamente condicionales (if, switch, etc) o loops (for, foreach, etc).

Si queeremos ejecutar desde consola un archvio en particular de php podemos hacer uso del siguiente c贸digo:

php filename.php

En el caso del switch ($login) { ... } del ejemplo, nunca se ejecutar铆a el bloque default porque $login debe evaluarse como true o como false, no existe una tercera opci贸n.

Ternary Operator ?

$variable = $evaluar ? default : Segunda Opci贸n

Forma de hacer alguna validacion simple tambien puede ser la siguiente:

$edad = 18;
$respuesta = $edad > 18 ? 'Es mayor de edad' : 'NO es mayor de edad
echo $respuesta

si coloco $a-- en la condicion

<?php
$edad = 20
if($edad >= 18){
  echo "Felicidades, ya eres mayor c:";
}elseif($edad == 18){
  echo "Felicidades, ya puedes ir al bote :D";
}else{
  echo "Aun estas morro, mi chavo";
}

//consulta
foreach($datas as $data){
  <td>$data->id</td>
}
$a = 1
while($datos <= 10){
  echo $a;

  $a++;
}

//primero se ejecuta, luego pregunta
do{
//se ejecuta primero
}while($a <= 10);

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

Totalmente cierto un sistema funciona como un reloj, paso a paso!

Espero les sirva para comprender el foreach:

$mi_array = [
    "clave1" => "valor1",
    "clave2" => "valor2",
    "clave3" => "valor3",
    "clave4" => "valor4"
];

foreach ($mi_array as $cada_clave => $cada_valor) {
    echo " Clave: " . $cada_clave . ", valor: " . $cada_valor;
} 

otra vez, bucles for, sentencias if, switch?

es el tercer curso donde se toca este tema鈥

Php basico
Php practico
y este鈥

necesita mas coeherencia la progresion de los cursos en Php

NO SE ENTENDIO EL EJEMPLO DE
foreach (鈥)

El ciclo foreach es ideal para recorrer arrays

7. Bloques de c贸digos sencillos en PHP

Les comparto el c贸digo que recopil茅 de esta clase, s茅 que es complicado si antes no hab铆as visto estructuras de control, condicionales y ciclos, pero 茅chale ganas.

Tuve que hacer peque帽os ajustes para que este c贸digo funcione porque si lo dejaba como lo propuso el profesor sal铆a error.

<?php
$condition = 0;
//Estructuras de control

//Condicionales
if($condition) {
    #code
} elseif($condition) {
    #code
} else {
    #code
}

$login = 0;
//Switch
switch ($login) {
    case true:
        #code
        break;
    case false:
        #code
        break;
    default:
        #code
        break;
}

//Ciclos

//Foreach
/*
foreach($datos as $key => $value) {
    #code
}

//ejemplo de consulta, usuarios
foreach($datos as $row) {
    #code
}
*/

//while

$a = 1;
while ($a <= 10) {
    #code
    echo $a;
    echo "\n";
    $a++;
}

//Do While

$b = 100;
do {
    echo $b;
    echo "\n";
} while ($b <= 10);

//for

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

I鈥檓 Developer PHP

El for es el mismo de Javascript.

El do while, empieza con do en el que se especifica, qu茅 queremos hacer y luego al final hacemos la pregunta, con un while (boolean); pero en esta ocasi贸n terminamos la sentencia con un ; y no tenemos que hacer otro bloque de c贸digo

El bloque while, es igual al de javascript.

El foreach ($variable as $key => $value) {} en el que tambi茅n podemos acceder a directamente a datos con la variable $row, el foreach, es bueno cuando consultamos datos.

Cuando tenemos m谩s de tres condiciones, ser铆a interesante utilizar el switch.

EL switch de php es igual al switch de Javascript.

El if tiene otras estructuras de control: elseif y else, todos van pegados del primer if.

La estructura if en php: if (condition) { #code }

$numero = 1000;

do {
if ($numero > 0) {
echo $numero . " , ";
} else {
echo $numero . 鈥.鈥;
}
$numero -=200;
} while ($numero >= 0);

no me gusta que pena ser negativo pero deja flotando muchas dudas que no podr铆a resolver una personas que ingresa por primera vez a la plataforma

Me cost贸 un poco entender el bucle foreach por su sintaxis pero lo asocie con el bucle for en python y fue m谩s sencillo de entender.

En python ser铆a, 鈥淧or cada elemento en mi array ejecuta el siguiente bloque de c贸digo鈥

lista = [1,2,3,4,5]

for elemento in lista:
		print(elemento)

Lo que en php ser铆a 鈥淧or cada elemento de mi array como 鈥渆lemento鈥 ejecuta el siguiente bloque de c贸digo鈥

foreach($MiLista as $elemento){
    echo $elemento . "<br>";
}

if( Condici贸n){}elseif{}
Switch( variable){
caso valor:
break;
default:
break;
}
While( true){}
do{}while()
for(Definici贸n; condici贸n; transformaci贸n){}

Switch:
Es una estructura de control que se utiliza para agilizar la toma de decisiones m煤ltiples

condici贸n:
Es una sentencia, lo que nos permite es validar algo

cuando tenemos m谩s de tres condiciones seria interesante utilizar directamente switch, se cumple el mismo objetivo con if pero es una especie de condiciones m谩s organizadas.

Para que se entienda y se convine con cosas de las clases anteriores, este es un codigo que te devuelve si un numero es par o impar.

<?php

$numero = readline("Ingresa un numero cualquiera: ");

if ($numero%2==0) {
    echo"Es un numero par \n";
}else {
    echo"El numero es impar\n";
}

Creo que unos de los ciclos que mas se utiliza es el ciclo foreach
Gran explicacion del profesor 馃檶

Hola [email protected] por si falta informaci贸n sobre **estructuras de control **

https://www.php.net/manual/es/language.control-structures.php

<?php

if (condition) {
    # code...
} elseif (condition) {
    #code...
} else {
    #code...
}

switch ($login) {
    case true:
        #code...
    break;

    case false:
        #code...
    break;

    default:
        #code...
    break;
}

// Consulta, usuarios
foreach ($datos as $row) {
    # code...
}

$a = 1000;
while ($a <= 10) {
    # code...
    $a++;
}


do {
    # code...
} while ($a <= 10);


for ($i=0; $i <10 ; $i++) { 
    # code...
}```

Los ciclos en programaci贸n para facilitar el manejo de datos.

Paso a paso aprendiendo la sintaxis de PHP, consejos? 馃槃

Excelente

Para ampliar, en el manual de PHP est谩n las estructuras de control https://www.php.net/manual/es/language.control-structures.php

en el login no hay una tercera opci贸n o si?

Los bloques de c贸digo nos permiten poder controlar el flujo de nuestra aplicaci贸n.

retos

<?php

// if
if (condition) {
# code鈥
} elseif (condition) {
# code鈥
} else {

}

// switch
switch ($login) {
case true:
# code鈥
break;
case false:
# code鈥
break;

default:
    # code...
    break;

}

// Consulta
foreach ($datos as $row) {
# code鈥
}

// While
$a = 1;
while ($a <= 10) {
# code鈥
$a++;
}

// do
do {
# code鈥
} while ($a <= 10);

for ($i=0; $i < 10; $i++) {
# code鈥
}

En PHP al igual que en muchos otros lenguajes de programaci贸n se puede utilizar una forma abreviada de la estructura if, en algunos casos conocido como operador ternario
siendo el siguiente ejemplo lo mismo:

<code>
if ($condicion) {
    $resultado = 'verdadero';
} else {
    $resultado = 'falso';
}

$resultado = $condicion ? 'verdadero' : 'falso';

Un c贸digo que puede correr con los ejemplos presentados:

<?php

$edad = 18;

if ($edad >= 60) {
    echo "es de la tercera edad";
} else if ($edad >= 18) {
    echo "es mayor de edad";
} else {
    echo "es menor de edad";
}

$login = true;

switch ($login) {
    case true:
        echo "est谩 logeado";
        break;

    case false:
        echo "no est谩 logeado";
        break;

    default:
        echo "No se encontr贸 informaci贸n respecto al estado de login";
        break;
}

$arreglo = ["Carlos", "Jos茅", "Mar铆a", "Alex"];

foreach ($arreglo as $row) {
    echo $row . " ";
}

$a = 1;

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

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

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

Buen video, esto es bueno entenderlo no solo para este lenguaje sino para cualquier otro que se desee incursionar.

Las estructuras de control nos permiten controlar el flujo de nuestra aplicaci贸n y tomar decisiones.

Hay varias estructuras de control disponibles:

if(condition){
// Run this code
}elseif(condition){
// Run this code
} else {
// Run this code
}
swtich($condition){
	case 'option1':
		#Run this code
		break;
	case 'option2':
		#Run this code
		break;
	default:
		#Run this code
		break;
}
foreach($array_list as $key => $element){
	// Run this code
	echo $element;
}
$a = 0;
while($a <= 10){
	# Run this code
	$a++;
}
$a = 0;
do{
	# Run this code
	$a++;
}while($a <= 10);
$a = 0;
for($i=0; $i < 100; $i++){
	# Run this code
}
if () :
endif;
while () :
endwhile;
foreach () :
endforeach;
swith () {
  case 1 : {
  }
}

Cuando estoy aprendiendo me pierdo, pero gracias a la comunidad al toque lo entiendo, gracias compa帽eros 馃槃

Es un poco feo que siempre haya que usar las variables con el signo pesos al principio, es algo muy repetitivo.

EXCELENTE

Estas son estructuras de control. Un bloque de c贸digo es el c贸digo que est谩 dentro de llaves:

{/*Bloque de c贸digo*/}

con esta informaci贸n se domina al mundo f谩cilmente

Si alguien no tiene tanta experiencia escribiendo c贸digo y siente que se esta perdiendo yo les recomiendo que primero pausen hasta este v铆deo y practiquen hartos ejercicios con ciclos y condicionales ya que son muy importantes para la programaci贸n, ademas los ejercicios ayudan a mejorar la l贸gica
Les recomiendo este v铆deo aparte de que hace ejercicios tambi茅n explica el c贸digo

Sencilla y clara explicaci贸n de las principales estructuras de control que nos ofrece PHP.

Para profundizar m谩s por vuestra cuenta pod茅is mirar la documentaci贸n oficial:
Estructuras de control

Muy interesante la opci贸n

foreach

Nunca lo hab铆a visto y parece que me ser谩 muy 煤til