Curso Práctico de PHP

Curso Práctico de PHP

Ana Belisa Martínez

Ana Belisa Martínez

¡Ponte a prueba!

10/17

Lectura

PHP es un lenguaje con el cual podrás llevar a cabo todo tipo de proyectos y además desarrollar una excelente lógica de programación de forma muy sencilla.

Como siempre, la documentación será tu mejor amiga para encontrar cómo y por qué funciona cada parte del lenguaje para que tú te ocupes de desarrollar las mejores soluciones con código.

Ahora te reto a resolver estos ejercicios donde pondrás en práctica los conocimientos más simples haciendo uso de tu lógica y por supuesto, de PHP.

¡No olvides poner tus soluciones en la sección de aportes!

Con una condición…

En una escuela están almacenando los juguetes favoritos de los estudiantes de acuerdo a su edad en un lugar específico de la bodega de esta forma:

  • Quienes sean menores de 5 años tendrán sus espacios en la parte inferior de la bodega.
  • Quienes tengan entre 5 y 7 años tendrán sus espacios en la parte media de la bodega.
  • Quienes tengan más de 7 años tendrán sus espacios en la parte alta de la bodega.
  • Quienes no tengan registro de su edad aún tendrán un espacio de almacenamiento en la bodega de al lado.

Según una lista que contiene las edades de cada estudiante debes validar su edad y mostrar a través de un mensaje en dónde tendrán que almacenar sus juguetes.

Por ejemplo:

El estudiante con 4 años tendrá sus juguetes en la parte inferior de la bodega.
El estudiante con 6 años tendrá sus juguetes en la parte media de la bodega.
En estudiante con 10 años tendrá sus juguetes en la parte alta de la bodega.

Medio árbol de Navidad

Dibuja medio árbol de Navidad usando solo asteriscos como se indica en el siguiente ejemplo:

*
**
***
****
*****

La altura de este árbol debe ser dinámica, si le dices que tendrá 10 de alto, entonces tendrá 10 asteriscos.

Tip: Usa un ciclo para realizar esta actividad.

¡Nos vemos en la siguiente clase para empezar con nuestro proyecto!

Aportes 116

Preguntas 2

Ordenar por:

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

10. ¡Ponte a prueba!

Quise ponerme un poco más a prueba, y lograr un árbol completo, me costó y tuve que hacer varios bucles pero me salió al fin 😃.

(Todo feedback es bien recibido 😃)

Así se ve:

Aquí comparto el código .php:

<!DOCTYPE html>
<html lang="es">
<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">
    <title>Retos</title>
</head>
<body>
    <div class="challenge-box">
    <form action="index.php" method="post">
        <label for="">Ingresar edad:</label><br>
        <input type="number" name="age" id="">
        <button type="submit">Validar</button>
    </form>
    <?php
    function ageValidation($age)
    {
        if($age < 5) {
            return "la parte inferior de la bodega.";
        } else if ($age >= 5 && $age <= 7) {
            return "la parte media de la bodega.";
        } else if ($age > 7){
            return "la parte alta de la bodega.";
        } else {
            return "la bodega de al lado.";
        }
    }
    $studentAge = $_POST["age"];
    echo "El estudiante con $studentAge años, tendrá sus juguetes en " . ageValidation($studentAge);
    ?>
    </div>
    <div class="challenge-box" style="margin-top: 20px;">
    <form action="index.php" method="post">
        <label for="">Ingresar tamaño deseado del árbol de navidad:</label><br>
        <input type="number" name="treeSize" id="">
        <button type="submit">Generar árbol</button>
    </form>
    <?php
    function treeGenerator($treeSize)
    {
        $blankSpaces = $treeSize;
        $asterisks = 1;
        for($i = 0; $i<$treeSize; $i++){
            for($j = 0; $j< ($blankSpaces - 1); $j++) {
                echo '&nbsp';
            }
            for($k = 0; $k<$asterisks; $k++){
                echo "*";
            }
            echo "<br>";
            $asterisks++;
            $blankSpaces--;
        }
    }
    $treeSize = $_POST["treeSize"];
    echo "Árbol generado de tamaño: $treeSize<br><br>";
    treeGenerator($treeSize);
    ?>
    </div>
</body>
</html>

ejercicio 1 bodega

<?php

$edades = [
    4,
    5,
    7,
    10,
    'undefined age'
];

function espacios_correspondientes_en_la_bodega (array $edades) {
    for ($i = 0; $i < count($edades); $i++) {
        if(is_int($edades[$i])) {
            if ($edades[$i] < 5) {
                echo "<br>guarde sus juguetes en la parte inferior de la bodega.<br>";
            } elseif ($edades[$i] >= 5 && $edades[$i] <= 7) {
                echo "<br>guarde sus juguetes en la parte media de la bodega.<br>";
            } else {
                echo "<br>guarde sus juguetes en la parte alta de la bodega.<br>";
            }
        } else {
            echo "<br>guarde sus juguetes en la bodega de al lado.<br>";
        }
    }
}

espacios_correspondientes_en_la_bodega ($edades);

ejercicio 2 medio pino

<?php 

function imprime_medio_pino (int $altura) {
    $char = '';
    for ($i = 0; $i <= $altura; $i++) {
        $char .= '*';
        echo $char."<br>";
    }
}

imprime_medio_pino (5);

Hola a Todos les comparto 3 formas distintas para imprimir el arbolito, con el agregado que el usuario puede elegir el número de hojas.

// Ejercicio 1

$arr_edades = array(1, 5, 7, 2, 6, 10, 'undefined');

function ejercicio1($array_edades) {
    foreach ($array_edades as $edad) {
        switch ($edad) {
            case $edad > 0 && $edad < 5:
                concatPhrase($edad, "inferior");
                break;

            case $edad >= 5 && $edad < 7:
                concatPhrase($edad, "media");
                break;

            case $edad >= 7:
                concatPhrase($edad, "alta");
                break;

            default:
                echo "Tiene un almacenamiento en la bodega de al lado." . PHP_EOL;
                break;
        }
    }
}

function concatPhrase($edad, $parte) {
    echo "El estudiante con $edad años tendrá sus juguetes en la parte $parte de la bodega." . PHP_EOL;
}

ejercicio1($arr_edades);
// Ejercicio 2

function ejercicio2($num) {
    $treeLevel  = '';
    $asterisk = '*';
    for ($i = 0; $i < ($num / 2); $i++) {
        $treeLevel .= $asterisk;
        echo $treeLevel . PHP_EOL;
    }
}

ejercicio2(10);

Para el primer ejercicio realicé de esta forma;

<?php
//funcion para llenar un arreglo de edades mediante
//el numero de estudiantes ingresado
function llenarEdades($num){
    for($i=0;$i<$num;$i++){
        $edad=rand(0,10);
        while($edad>0 && $edad<=7){
            $edad=rand(0,10);
        }
        $edades[$i]=$edad;
    }
    return $edades;//devuelvo el arreglo de edades
}

function mensaje($ed){
//tomé a cero como si un estudiante no proporciona su nombre
    if($ed<5 && $ed>0){
        echo "El estudiante con $ed años tendrá sus juguetes en la parte inferior de la bodega.<br>";
    }else if($ed>=5 && $ed<=7){
        echo "El estudiante con $ed años tendrá sus juguetes en la parte media de la bodega.<br>";
    }else if($ed>7){
        echo "El estudiante con $ed años tendrá sus juguetes en la parte alta de la bodega.<br>";
    }else if ($ed==0){
        echo "El estudiante con $ed años tendrá sus juguetes en la bodega de a lado.<br>";
    }
}

//main
    $numNinios=rand(0,5);//genero aleatorio una cantidad de chicos
    $edarr=llenarEdades($numNinios);//lleno el vector de edades
    print_r($edarr);//muestra las edades ingresadas
    foreach($edarr as $value){//con un foreach despliego el mensaje para cada uno de los chicos 
        mensaje($value);
    }


Para mi segundo ejercicio 


<?php
$altitudF=rand(2,10);// genero numero de filas aleatorias entre 2 y 10
print_r($altitudF);//visualiza el numero generado
for($i=0;$i<$altitudF;$i++){//este for recorre las filas
for($j=0;$j<$i;$j++){
//este for imprime el numero de asteriscos dependiendo de la fila en la que se encuentre
echo ‘*’;
}
echo ‘<br>’;//hago salto de linea para cada fila, en ese caso se muestra info en HTML
}

Orientado a Objetos 😄

  • Reto: Con una condición:

  • Reto: Medio Árbol de Navidad:

ejercicio 1 :

$edades = array(3,4,7,7,6,'undefined age');

foreach($edades as $edad) {
  switch($edad) {
    case $edad>0&&$edad<5:
      echo"al ser menor de 5 años van a la parte inferior de la bodega \n";
    break;
    case $edad>=5&&$edad<=7:
      echo "al tener entre 5 y 7 años sus juguetes se almacenan en la parte media de la bodega \n";
    break;
    case $edad>7&&$edad<100:
      echo "al ser mayor de 7 años sus juguetes se almacenan en la parte superior de la bodega \n";
    break;
    default:
      echo "Al no tener registrada su edad sus juguetes se guardaran en el almacen de al lado \n";
    break;
  }
}

ejercicio 2:

$asterisc = "*";
$countAsterisc = 10;
$a = "*";

for($i=0 ;$i < ($countAsterisc/2); $i++) {
  echo "$a \n";
  
  $a .= $asterisc;
}

Comparto mi solución del segundo reto.

<?php

$treeHeight = readline("¿Qué altura tendrá tu arbol?");

function printDots($number){
    for ($x=0; $x<$number; $x++){
        echo "*";
    }
    echo "\n";
}

for ($i=1;$i<=$treeHeight;$i++){
    printDots($i);
}

?>

Comparto mi solución al primer reto.

<?php

$estudiantes=array(
    "Noe"=>7,
    "Pedro"=>9,
    "Nadia"=>3,
    "Saúl"=>0
);

foreach ($estudiantes as $nombre=>$edad){
    if ($edad==0){
        $lugar="bodega de un lado";
    }elseif ($edad<5){
        $lugar="parte inferior";
    }elseif ($edad<8){
        $lugar="parte media";
    }elseif ($edad<200){ //En teoria nadie podría vivir tantos años
        $lugar="parte alta";
    }
    echo "El estudiante con $edad años tendrá sus juguetes en la $lugar de la bodega \n";
}

?>

Holaa, ya muchos han agregado sus aportes y la solución de estos problemas que a mi parecer son bastante buenos para realizar.
Aquí dejo mi solución con respecto al ejercicio 1 de los estudiantes.

<?php

    $students = array(
        "Moises" => array(
            "age" => 10
        ),
        "Daniela" => array(
            "age" => 6
        ),
        "Gustavo" => array(
            "age" => 4
        ),
        "Fernanda" => array(
            "age" => 'undefined'
        ),
    );

    foreach ($students as $estudiante => $edad) {
        foreach ($edad as $valor) {
            if (is_int($valor)) {
                switch ($valor) {
                    case ($valor < 5):
                        echo "El estudiante cuyo nombre es $estudiante con $valor años tendrá sus juguetes en la parte inferior de la bodega.\n\n";
                        break;
                    case ($valor >= 5 && $valor <= 7):
                        echo "El estudiante cuyo nombre es $estudiante con $valor años tendrá sus juguetes en la parte media de la bodega.\n\n";
                        break;
                    case ($valor > 7):
                        echo "El estudiante cuyo nombre es $estudiante con $valor años tendrá sus juguetes en la parte alta de la bodega.\n\n";
                        break;
                }
            } else {
                echo "El estudiante cuyo nombre es $estudiante no ha registrado su edad, tendrá sus juguetes en la bodega de a lado.\n\n";
            }
        }
    }
?>

La solución del ejercicio 2 sobre el arbolito me fue un poco más ameno.

<?php

    $caracter = '*';
    $arbol = '';
    $nivel = readline('Nivel del árbol: ');

    for ($i = 0; $i < $nivel; $i++) {
        $arbol = $arbol . $caracter;
        echo  $arbol . "\n";
    }

?> 

ejercicio 1

$edad = [4,5,10, 'edad indefinida'];
$arrayLength = count($edad);
// echo($arrayLength . '\n');
for($i=0; $i<$arrayLength; $i++){
        
switch($edad[$i]) {
    case $edad[$i] < 5:
        echo "El estudiante con" . " $edad[$i] " ."años tendrá sus juguetes en la parte inferior de la bodega." . "\n";
    break;
    case $edad[$i] > 4 && $edad[$i] < 7 :
        echo "El estudiante con"." $edad[$i] ". "años tendrá sus juguetes en la parte media de la bodega.". "\n";
    break;
    case $edad[$i] >= 7 && $edad[$i] < 100:
        echo "En estudiante con "." $edad[$i] ". " años tendrá sus juguetes en la parte alta de la bodega.". "\n";
    break;
    default:
        echo "el estudiante con $edad[$i]"." no tienes registro aún tendrán un espacio de almacenamiento en la bodega de al lado." . "\n";
    break;
}
}

Ejercicio 2

function arbol($piso){
    for ($i=0; $i<$piso; $i++) { 
        $asterisco = str_repeat("* ", $i);
        echo str_repeat(" ",$piso-$i) . $asterisco . "\n";
    }
}
arbol(10)
<?php

$age = readline("Ingrese la edad del niño: ");

if ($age < 5)
    echo "El estudiante con " . $age . " años tendrá sus juguetes en la parte inferior de la bodega. \n";
else if ($age >= 5 && $age <= 7)
    echo "El estudiante con " . $age . " años tendrá sus juguetes en la parte media de la bodega. \n";
else if ($age > 7)
    echo "El estudiante con " . $age . " años tendrá sus juguetes en la parte alta de la bodega. \n";
<?php

$n = readline("Ingrese el nivel de su arbolito: ");

for ($i = 0; $i<$n; $i++) {
    echo "* \n";
    for ($j=0; $j<$i; $j++) {
        echo "*";
    }
}
echo "*";
echo "\n";

ok

Reto 2

<?php  

function imprimir_arbol($altura){

        $espacio = "";
        $asterico = "*";
        for ($i = 0; $i < $altura; $i++){
            $espacio .= $asterico;
            echo $espacio."\n";
        }
}
imprimir_arbo(10);

Reto 1

<?php

$ages =[ 4, 6 , 10, 35 ];

function getspace($ages){

    for ($i = 0;$i < count($ages);$i++ ){
        if($ages[$i] < 5) {
    echo "El estudiante con ".$ages[$i]." años tendrá sus juguetes en la parte inferior de la bodega.. \n";
        }   

    elseif($ages[$i] >= 5 and $ages[$i] <=7){
        echo "El estudiante con ".$ages[$i]." años tendrá sus juguetes en la parte media de la bodega.. \n";
    }
    elseif($ages[$i] === 10){
        echo "El estudiante con ".$ages[$i]." años o sin registro de edad debe guardar sus juguetes en la parte alta de la bodega. \n";
    }
        else{
        echo "Guarde sus juguetes en la bodega de al lado si es de secundaria. \n";
    }
  }
}
getspace($ages);

Reto 1 “con una condicion”

// Array con los datos

$estudiantes_list= Array(
  Array(
    "nombre"=> "Pepito",
    "edad"=> 12
  ),
  Array(
    "nombre"=> "Juanito",
    "edad"=> 0
  ),
  Array(
    "nombre"=> "Rosita",
    "edad"=> 3
  ),
  Array(
    "nombre"=> "Maria",
    "edad"=> null
  ),
  Array(
    "nombre"=> "Carlitos",
    "edad"=> 7
  ),
  Array(
    "nombre"=> "Laurita",
    "edad"=> 5
  ),
  Array(
    "nombre"=> "Sofia",
    "edad"=> 15
  ),
);

// Funcion
function almacen($estudiantes){
  foreach($estudiantes as $estudiante){

    if ($estudiante["edad"] != null){
      if($estudiante["edad"] < 5 && $estudiante["edad"] >= 0){
        echo $estudiante["nombre"] ." con " . $estudiante["edad"] . " años tendrá sus juguetes en la parte inferior de la bodega \n";
      }
      elseif($estudiante["edad"]>= 5 && $estudiante["edad"] <= 7){
        echo $estudiante["nombre"] ." con " . $estudiante["edad"] . " años tendrá sus juguetes en la parte media de la bodega \n";
      }
      else{
        echo $estudiante["nombre"] ." con ".  $estudiante["edad"] . " años tendrá sus juguetes en la parte alta de la bodega \n";
      }
    }
    else {
      echo $estudiante["nombre"] . " no tiene registro de su edad pero tendrá un espacio de almacenamiento en la bodega de al lado \n";
    }
  }
}

// Llamado a la funcion
almacen($estudiantes_list);

Ejercicio 1 Alumnos
edades.html

<!DOCTYPE html>
<html lang="es">
<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">
    <title>Edades</title>
</head>
<body>
        <form action="edades.php" method="get">
            <label for="edad">
                cantidad de alumnos:
                <input type="number" name="cantidad" id="cantidad">
            </label>
            <button type="submit">enviar</button>
        </form>
</body>
</html>

edades.php

<?php

if (!empty($_GET['cantidad'])) {
    $cantidad = $_GET['cantidad'];
    ?>
    <form action="" method="GET">
        <?php
            for ($i=1; $i <=$cantidad ; $i++) {
                echo "
                <label>
                    Edad de alumno: {$i}
                    <input type='number' name='edad[$i]' id='edad[$i]'>
                </label>
                <br/>
                ";
            }
        ?>
        <button type="submit">enviar</button>
    </form>
    <?php
}

if (!empty($_GET['edad'])) {
    $edades = $_GET['edad'];
    foreach ($edades as $edad) {
        switch ($edad) {
            case $edad <5:
                echo "<p>El estudiante con $edad tendrá sus juguetes en la parte inferior de la bodega.</p><br>";
                break;
            case $edad >= 5 && $edad <= 7:
                echo "<p>El estudiante con $edad años tendrá sus juguetes en la parte media de la bodega.</p><br>";
                break;
            case $edad > 7:
                echo "<p>El estudiante con $edad años tendrá sus juguetes en la parte alta de la bodega.</p><br>";
                break;
            default:
                echo "<p>Es estidoante tendra sus juguetesen la bodega de al lado.</p><br>";
                break;
            }
    }
} 

Hola aquí dejo mis soluciones a los retos
Reto #1

Reto #2

Reto 1:
(Le agregue el nombre para que se vea mas lindo)

<?php
$name = readline('Ingresa tu nombre por favor: ');
$age = (int) readline("Ingresa tu edad, para ubicar tus juguetes: ");
$mensaje = '';
if($age == 4){
    $mensaje = "Hola $name con tu edad de $age Tu espacio de juego es en la parte inferior";
}else if ( $age >= 5 and $age < 7){
    $mensaje = "Hola $name con tu edad de $age tu espacio de juego esta en la parte media";
}else if ($age >= 7){
    $mensaje = "Hola $name con tu edad de $age tu espacio de juego esta en la parte alta";
}else {
    $mensaje = "Hola $name, como no hay registro de tu edad tu espacio de juego esta al lado de la bodega";
}
echo $mensaje;
?>

Reto 2:
(Aqui indicas que signo quieres que se repita y cuantas vueltas)

<?php
$symbol = readline ("Ingresa el simbolo: ");
$vueltas = (int) readline ("Vueltas: ");

$contador = 1;
while ($contador <= $vueltas){
    echo str_repeat($symbol, $contador) ."\n";
    $contador++;
}
?>```
 	// Christmas tree

    	$tree_height = 10;

    	for($i = 1; $i <= $tree_height; $i++) {
        	echo str_repeat("*", $i) . "\n";
    	}
    ```
  
// Favorite toys place

    $list = [3,2,5,6,8,9,3, null];

    function toyPlace($age) {
        if (!is_numeric($age)) return "El estudiante sin registro de edad no tendra espacio\n";

        $propper_part = $age < 5 
            ? "inferior" 
            : (
                $age >= 5 && $age <= 7 
                ? "media" 
                : "alta"
            );

        return "El estudiante con $age años tendra sus juguetes en la parte $propper_part de la bodega\n";
    }
    
    foreach($list as $age) {
       echo toyPlace($age);
    }

Quise intentar el arbol completo

<?php
	$alturaArbol = 10;
	for ($i=0; $i < $alturaArbol; $i++) { 
		for ($k=($alturaArbol-$i); $k > 0; $k--) { 
			print(" ");
		}
		for ($j=0; $j <= $i; $j++) { 
			print("*");
		}
		for ($l=0; $l <= $i; $l++) { 
			print("*");
		}
		print("\n");
	}
?>
      **
     ****
    ******
   ********
  **********
 ************
**************



RETO UNO

<?php

$edades = [  4,  6,  10, 'undefined'];

function calcular (array $edades)
{
    for ($i=0; $i < count ($edades) ; $i++) 
    { 
        if(is_int($edades[$i])) {
            if ($edades[$i] < 5) {
                echo "<br>el estudiante con {$edades[$i]} años tendrá sus juguetes en la parte inferior de la bodega. <br>";
            } elseif ($edades[$i] >= 5 && $edades[$i] <= 7) {
                echo "<br>el estudiante con {$edades[$i]} años tendrá sus juguetes en la parte inferior de la bodega.<br> ";
            } else {
                echo "<br>el estudiante con {$edades[$i]} años tendrá sus juguetes en la parte inferior de la bodega.<br>";
            }
        } else {
            echo "<br>No tienes registro edad, guarde sus juguetes en la bodega de al lado.<br>";
        }
    }
}
calcular($edades);

?>

convine php, css y html para lograr realizar el arbolito, quedo bello jaja

<!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">
    <title>Document</title>
</head>

<style>
    body {
        text-align: center;
    }
    .RamaArbol {
        display: inline;
    }
</style>

<body>

    <?php

    $contador = 1;
    $Num_Recorrido = 25;

    for ($x = 1; $x <= $Num_Recorrido; $x++) {

        for ($i = 1; $i < $contador; $i++) { ?>
            <div class="RamaArbol">*</div>
    <?php
        }
        echo "<br>";
        $contador++;
    }

    ?>

</body>

</html>```
 <form action="recibeForm.php">
        <label for="edad">Cual es tu edad?</label>
        <input name="edad" type="text">
        <button>Enviar</button>
    </form>

if($datos["Edad"] === ""){ echo "No hay Edad, no hay nada para ti";
}
else if($datos["Edad"] <= 5){ echo "El estudiante con " . $datos["Edad"] . "años tendrá sus juguetes en la parte inferior de la bodega.";
}
else if($datos["Edad"] > 5 & $datos["Edad"] <= 7){ echo "El estudiante con " . $datos["Edad"] . "años tendrá sus juguetes en la parte media de la bodega";
}
else if($datos["Edad"] > 7){ echo "El estudiante con " . $datos["Edad"]. "años tendrá sus juguetes en la parte alta de la bodega";
} 

Mis códigos
.
Reto 1
.

$estudiantes = array(
    "Pepito" => 5,
    "Anita" => 3,
    "Carlitos" => 7,
    "Guadita" => "",
    "Jaimito" => 8,

);

foreach($estudiantes as $nombre => $edad ){
    if ($edad > 0 && $edad < 5) {
        echo $nombre . " tendrá su espacio en la parte inferior de la bodega \n";
    }
    elseif ($edad >= 5 && $edad <= 7){
        echo $nombre . " tendrá su espacio en la parte  media de la bodega \n";
    }
    elseif($edad > 7){
        echo $nombre . " tendrá su espacio en la parte  alta de la bodega \n";

    }
    elseif($edad == "") {
        echo $nombre . " No tiene registrada su edad. Por lo tanto no tendrá su espacio en la bodega \n";

    }

}

Reto 2

for ($i=1; $i < 6 ; $i++) { 
    $asterisco = "*";
    echo str_repeat($asterisco, $i) . "\n";
    
}
<?php
$age_students = array(1, 4, 6, 7, 8, 12, 'undefined');

foreach ($age_students as $student){
    switch ($student) {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
            echo "El estudiante con $student años tendra sus juguetes en la parte inferior de la bodega \n";
            break;
        case 5:
        case 6:
        case 7:
            echo "El estudiante con $student años tendra sus juguetes en la parte media de la bodega \n";
            break;
        case 'undefined':
            echo "El estudiante con $student años tendra sus juguetes en la bodega de  al lado \n";
            break;
        default:
            echo "El estudiante con $student años tendra sus juguetes en la parte alta de la bodega \n";
            break;
    }
}
?>

ejercicio 2 asteriscos

<?php

    $asteriscos = "10";

    for ($i = 0; $i<$asteriscos; $i++){
       echo str_repeat("*", $i) . "\n";
    }

?>

ejercicio 1 bodega

<?php

$arr = array(1,2,3,4,5,6,7,8,9);

foreach($arr as $value) {
    $minBajo = 0;
    $maxBajo = 4;
    $minMedio = 5;
    $maxMedio = 7;
    $minAlto = 8;
    $maxAlto = 9;
    if (filter_var($value, FILTER_VALIDATE_INT, array("options" => array("min_range"=> $minBajo, "max_range"=> $maxBajo))) === false) {
    
    }
    else {
        echo("Tienes " . $value . " años coloca tus cosas en la estantería interior.");
        echo "\n";
    };
    if (filter_var($value, FILTER_VALIDATE_INT, array("options" => array("min_range"=> $minMedio, "max_range"=> $maxMedio))) === false) {
    
    }
    else {
        echo("Tienes " . $value . " años coloca tus cosas en la estantería de la parte media.");
        echo "\n";
    };
    if (filter_var($value, FILTER_VALIDATE_INT, array("options" => array("min_range"=> $minAlto, "max_range"=> $maxAlto))) === false) {
    
    }
    else {
        echo("Tienes " . $value . " años tus cosas en la estantería superior.");
        echo "\n";
    };
}
 ?>

Mi solucion

$n = intval(readline('Ingrese el tamaño del arbol: '));
for ($i = 1; $i <= $n; $i++) {
  echo(str_repeat('*', $i) . PHP_EOL);
}

Solo hice una búsqueda en Google y aparece en primer término.

Este es el reto del medio árbol de navidad. He usado una función de PHP que encontré en la documentación oficial de PHP.

Esta es mi solución al reto, espero no estar equivocado.

Reto 1

<?php

$edades_alumnos = [];

for ($i = 0; $i < 10; $i++) {
    $edades_alumnos[$i] = rand(2, 10);
}

for ($i=0; $i < 10; $i++) { 
  if ($edades_alumnos[$i] < 5 && $edades_alumnos[$i] > 0) {
    echo "El estudiante con {$edades_alumnos[$i]} años tendrá sus juguetes en la parte inferior de la bodega.\n";
  }
  else if ($edades_alumnos[$i] >= 5 && $edades_alumnos[$i] <= 7) {
    echo "El estudiante con {$edades_alumnos[$i]} años tendrá sus juguetes en la parte media de la bodega.\n";
  }
  else if ($edades_alumnos[$i] > 7) {
    echo "El estudiante con {$edades_alumnos[$i]} años tendrá sus juguetes en la parte alta de la bodega.\n";
  }
  else {
    echo "El estudiante sin registro de edad Tiene espacio de almacenamiento en la bodega de al lado.\n";
  }
}

Reto 2

$estrellitas = "";
$altura_pino = readline("¿Que altura deberia tener tu pino) ");

for ($i = 1; $i <= $altura_pino; $i++) {
    $estrellitas .= "*";
    echo($estrellitas. "\n");
}

Mi resolución del ejercicio de árbol:

Este fue el codigo que utilice para el ejercicio de las edades:

Mis soluciones al reto:


<?php
// Reto 1

$students = array(
    "Luis" => 7,
    "Pedro" => 3,
    "Juanito" => 5,
    "Diego" => null,
);

foreach ($students as $stud => $age) {
    
    if ($age == null) {
        echo "$stud no tiene una edad asignada pero aún tendrán un espacio de almacenamiento en la bodega de al lado. \n";
    }
    else if($age < 5) {
        echo "$stud tiene $age anios y tiene que guardar su juguetes en la parte inferior de la bodega \n";
    } else if($age >= 5 && $age <= 7) {
        echo "$stud tiene $age anios y tiene que guardar su juguetes en la parte media de la bodega \n";
    } else if($age > 7) {
        echo "$stud tiene $age anios y tiene que guardar su juguetes en la parte alta de la bodega \n";
    }
}

// Reto 2

for($i = 1; $i < 11; $i++) {
    echo str_repeat("*", $i) . "\n";
}

?>

Ejercicio 1

<?php

/*

Quienes sean menores de 5 años tendrán sus espacios en la parte inferior de la bodega.
Quienes tengan entre 5 y 7 años tendrán sus espacios en la parte media de la bodega.
Quienes tengan más de 7 años tendrán sus espacios en la parte alta de la bodega.
Quienes no tengan registro de su edad aún tendrán un espacio de almacenamiento en la bodega de al lado.

*/


function juguetesAlmacenadosEdad($edad)
{
    foreach ($edad as $e) {

        if ($edad > 0 && $e < 5) {
            echo  "El estudiante con " . $e . " años de edad tendrá sus jueguetes en la parte inferior de la bodega \n";
        } else if ($e >= 5 && $e < 7) {
            echo  "El estudiante con " . $e . " años de edad tendrá sus jueguetes en la parte media de la bodega \n";
        } else if ($e >= 7  && $e <= 13) {
            echo  "El estudiante con " . $e . " años de edad tendrá sus jueguetes en la parte alta de la bodega \n";
        } else {
            echo "El estudiante  no tiene regirstro de su edad entonces su espacio será en la bodega de al lado \n";
        }
    }
}


$edades = array(3, 6, 8, 'null');

juguetesAlmacenadosEdad($edades);
<?php


function arbolito($cantidad){
    for($i = 0; $i < $cantidad; $i++){
        echo str_repeat("*",$i). "\n";
    }
}

arbolito(15);

Comparto mi código del arbolito
resultado:

Código:

<?php
    //Dibujo del arbol
    //Ingresa el numero de filas para el arbol
   $numero=5;
   $nivel=0;
   $limite=$numero+1;
   
    if($nivel>=0 && $nivel<=$limite){

    for ($i=0; $i < $limite; $i++) {       

        for ($j=0; $j < $nivel ; $j++) { 
            
            echo "*";
        }
            echo "<br>";
            $nivel++;    
        
    }
    }
?>

//Ejercicio 2
<?php

$altura = readline ("\n".“Por favor ingrese la altura que desea para el árbol: \n”);

for ($i=1; $i<=$altura; $i++)
{
for ($j=0; $j<$i; $j++)
{
echo “*”;
}
echo “\n”;
}

?>

Mi ejercicio de

<?php

$edades = [3,4,6,9,10,7,15];

echo calcularubicaciones($edades);

function calcularubicaciones($edades){
    $msj = '';
    if (is_array($edades)){
        foreach ($edades as $edad){
            switch ($edad) {
                case $edad < 5:
                    $msj .= "El estudiante con ". $edad. " años tendrá sus juguetes en la parte inferior de la bodega.<br>" ;
                    break;
                case ($edad >= 5) and ($edad <= 7):
                    $msj .= "El estudiante con ". $edad. " años tendrá sus juguetes en la parte inferior de la bodega.<br>" ;
                    break;
                case $edad > 7:
                    $msj .= "El estudiante con ". $edad. " años tendrá sus juguetes en la parte alta de la bodega.<br>" ;
                    break;
                default:
                    $msj .= "Pueden guardar en la parte de al lado de la bodega.<br>" ;
                    break;  

            };
        }
        return $msj;
    }
    return "No hay datos validos";

}
<?php

$size = readline("Digite el tamaño del arbo que desee: ");

for($i=0; $i < $size; $i++) {   
    for($n=0; $n <= $i; $n++) {
        echo "*";
    }
    echo "\n";
}

?>
<?php

//para crear un array con una cantidad de estudiantes
//aleatoria y con edades aleatorias
for($i=0; $i < rand(0, 10); $i++) {
    $edades[$i] = rand(4, 8);
}

//Imprimir en pantalla la edad y en que parte de la irán 
//sus jugetes
for($i=0; $i < count($edades); $i++) {
    if( $edades[$i] < 5 ) {
        echo "El estudiante con ".$edades[$i]." años "."tendrá sus jugetes en la parte inferior de la bodega. \n";
    }elseif( ($edades[$i] >= 5) && ($edades[$i]<= 7) ) {
        echo "El estudiante con ".$edades[$i]." años "."tendrá sus jugetes en la parte media de la bodega.  \n";
    }elseif( $edades[$i] > 7 ) {
        echo "El estudiante con ".$edades[$i]." años "."tendrá sus jugetes en la parte alta de la bodega.  \n";
    }else {
        echo "No se tiene registro de este estudiante tendrá sus jugetes en la bodega de al lado.  \n";
    }
}

?>
<?php

function estudiante_espacio($estudiante) {
    if ($estudiante <5) {
    echo "El Estudiante con ".$estudiante." años tendrá sus juguetes en la parte inferior.\n";
} elseif ($estudiante <7) {
    echo "El Estudiante con ".$estudiante." años tendrá sus juguetes en la parte media.\n";
} elseif ($estudiante >7) {
    echo "El Estudiante con ".$estudiante." años tendrá sus juguetes en la parte superior.\n";
}
else {
    echo " El estudiante sin registro no tendrá sus juguetes en la bodega";
}
}

estudiante_espacio(3);
estudiante_espacio(6);
estudiante_espacio(9);
estudiante_espacio(12);

?>
<?php
//dibujar arbol de navidad

function imprime_asteriscos($n) {
    $espacio = '';
    for ($i = 0; $i < $n; $i++) {
        $espacio .= '*';
        echo $espacio."\n";
    }
}

imprime_asteriscos(10);
?>

Para el del medio arbol utilicé lo siguiente:
<?php

for ($i=0, $j=1; $i < 4 ; $i++ , $j++){
echo str_repeat(’*’, $i + $j).’<br>’;
}
?>

y lo que obtuve fue:




Primero

<html>
    <head>
        <title>
            Inicio
        </title>
    </head>
        <body>
            <form action="datos.php">
                Nombre<input name = "Persona[nombre]">
                Edad<input name = "Persona[edad]">
                <button type="submit">Enviar</button>
            </form>
        </body>
</html>
<?php
   $nombre = $_REQUEST["Persona"]["nombre"];
   $edad = $_REQUEST["Persona"]["edad"];
 
    print_r("$nombre ");
   if($edad > 0 && $edad < 5 ){
       print_r ("recuerde que debe colocar sus cosas en la parte inferior de la bodega");
   }else{
    if($edad > 0 && $edad <= 7){
        print_r ("recuerde que debe colocar sus cosas en la parte media de la bodega");
    }else{
        if($edad > 0 && $edad > 7){
            print_r ("recuerde que debe colocar sus cosas en la parte alta de la bodega");
        }else{
            if($edad == ""){
                print_r ("recuerde que debe colocar sus cosas en la bodega de al lado");
            }else{
                print_r ("la edad que colocó no es un número, no sea mula");
            }
            
        }
    }
   }
    
?>

Segundo

<html>
    <head>
        <title>
            Arbol
        </title>
    </head>
    <body>
        Número de niveles
        <form action="arbol.php">
            <input type="int" name= "niveles">
            <button type="submit">Enviar</button>
        </form>
    </body>
</html>
<?php
    $niveles = (int)$_REQUEST["niveles"];
    var_dump($niveles);
    print_r("\n<br>");
    $i1= 1;
    $i2= 1;
    $i3= 2;
    print_r("*\n<br>");
    while ($i1 < $niveles){
        while ($i2 <= ($i3)){
            print_r("*");
            $i2++;
        }
        print_r("\n<br>");
        $i1++;
        $i2 = 1;
        $i3++;
    }
?>

hola

Creí que estaba bueno hacer el árbol de navidad completo también.
Todo por terminal. Solicito el dato para el alto (en filas) del árbol.

<?php

$largo = readline("Cuantas filas quiere que tenga su arbol de navidad?\t");
$blanco = $largo;
$asteriscos = 1;
for ($i=0,$blanco=$largo,$asteriscos; $i < $largo; $i++,$blanco--,$asteriscos += 2) { 
    for($j=0;$j < ($blanco - 1);$j++){
        echo " ";
    }
    for($k=0;$k<$asteriscos;$k++){
        echo "*";
    }
    echo "\n";
}

PRIMER EJERCICIO:
Quise interactuar con la terminal, así que mi código pide la cantidad de niños que hay en la guardería, su nombre y edad, para que al final nos diga en donde colocar los juguetes.

<?php

$children = readline("how many children are in the nursery: ");

function NumberOfChildren($children){
    $totalAge = array();
    $totalName = array();
    $age = array();
    $name = array();
    for($i=1; $i < $children+1; $i++){
        $name = readline("name of child number $i: ");
        $age = readline("$name age: ");
        switch($children){
            case $age > 0 && $age <5:
                echo "$name place the toys in the lower part of the cellarA.";
                echo "\n";
            break;
            case $age > 5 && $age < 7:
                echo "$name places the toys in the middle part of the cellarA";
                echo "\n";
            break;
            case $age > 7:
                echo "$name places the toys in the top part of the cellarA";
                echo "\n";
            break;
            default:
                echo "$name place your toys in the other cellarB";
                echo "\n";
            break;
        }
        // array_push($totalAge, $age);
        // array_push($totalName, $name);
    }
}
NumberOfChildren($children);

EJERCICIO 2

<?php

$height = readline("enter the height tree: "); 
$treeheight  = '';
$asterisk = '*';

for($i=0; $i < $height; $i++){
    $treeheight .= $asterisk;
    echo $treeheight;
    echo "\n";
}

Hice el ejercicio 1, quitando el punto final. Con un formulario.

<!DOCTYPE html>
<html>
<head>
<title>PHP formularios</title>
</head>
<body>
<form action=“main.php”>
<input type=“number” name=“Edad”>
<button type=“submit”>Enviar</button>
</form>
<ul>
<li>Quienes sean menores de 5 años tendrán sus espacios en la parte inferior de la bodega.</li>
<li>Quienes tengan entre 5 y 7 años tendrán sus espacios en la parte media de la bodega.</li>
<li>Quienes tengan más de 7 años tendrán sus espacios en la parte alta de la bodega.</li>
</ul>
</body>
</html>

<?php

$edades = (int)$_REQUEST["Edad"];
almacenarJuguetes($edades);    

function almacenarJuguetes($edad) {
    
    switch ($edad) {
        case ($edad < 5):
            echo "El estudiante con $edad años tendrá sus juguetes en la parte inferior de la bodega.";
            break;
        case (($edad >= 5) && ($edad <=7)):
            echo "El estudiante con $edad años tendrá sus juguetes en la parte media de la bodega.";
            break;
        case ($edad > 7):
                echo "El estudiante con $edad años tendrá sus juguetes en la parte alta de la bodega.";
                break;
        default:
        echo "El estudiante tendrá sus juguetes en la parte alta de la bodega.";
            break;
    }
}

?>

<?php
// de  esta forma he decidido hacer mi arbolito dinamico
echo "Ingresa la altura del arbolito ";
fscanf(STDIN, "%i", $altura);

for ($i=0; $i <= $altura ; $i++) { 
    for ($j=0; $j < $i ; $j++) { 
        echo "*";
    }
   echo "\n";

}


?>
<?php

// de esta forma fue como decidí resolver el primer problema

$edades = [3,3,8,5,7,4,6,8,2,7,5,10];


for ($i=0; $i < count($edades); $i++) { 
    $edades[$i];
    if ($edades[$i] < 5) {
        echo "El niño en la posicion numero: " . $i . " tiene " .  $edades[$i] . " años, tendrá sus espacio en la parte inferior de la bodega \n";
    }elseif ($edades[$i] > 4 && $edades[$i] < 9 ) {
        echo "El niño en la posicion numero: " . $i . " tiene " .  $edades[$i] . " años, tendrá sus espacios en la parte media de la bodega \n";
    }elseif ($edades[$i] > 7) {
        echo "El niño en la posicion numero: " . $i . " tiene " .  $edades[$i] . " años, tendrá sus espacios en la parte alta de la bodega \n";
    }else{
        echo "No tiene registro";
    }
}

?>

<?php

$bodegaMenor5 = array();
$bodega5A7 = array();
$sinRegistro = array();

$edad = readline(“ingresa tu edad”);
$jugete = readline(“Que jugete deseas guardar?”);

switch($edad){
case $edad <5:
array_push($bodegaMenor5, $jugete);
echo “\n\n\nNo hay registros de tu edad\n”;
echo $jugete."\n";
break;
case $edad <=7:
array_push($bodega5A7, $jugete);
echo “\n\n\nNo hay registros de tu edad\n”;
echo $jugete."\n";
break;

default:
    array_push($sinRegistro, $jugete);
    echo "\n\n\nNo hay registros de tu edad\n";
    echo $jugete."\n";
break;

}

$cantidad = readline("\n\n\n\ningrese de la altura que desea que tenga su arbol\n");

for($i = 0; $i < $cantidad; $i++){
echo str_repeat("*", $i)."\n";
}

Hice el primer reto generando numeros aleatorios entre 1 y 15:

$Edades = array(); 

for($i=0; $i<5; $i++){
    $Edades[$i] = rand(1, 15); 
    if ($Edades[$i] < 5 ){
        echo "El niño con $Edades[$i] años debe poner los juguetes abajo de la bodega \n"; 
    }
    if ($Edades[$i] >= 5 && $Edades[$i] <= 7 ){
        echo "El niño con $Edades[$i] años debe poner los juguetes en la parte media de la bodega \n"; 
    }
    if ($Edades[$i] > 7 ){
        echo "El niño con $Edades[$i] años debe poner los juguetes en la parte de arriba de la bodega \n"; 
    }
    if ($Edades[$i] == null ){
        echo "El niño con $Edades[$i] años debe poner los juguetes en la parte de arriba de la bodega \n"; 
    }
}

Primer ejercisio almacen jugetes

 echo '<b>Donde guardo mis jugetes :)</b></br>';
echo 'La edad minima es 3 años </br>';
echo 'La edad maxima es 12 años </br>';
function almacen($edad){
    if($edad >= 3 && $edad <= 5){
        echo 'Parte inferior de la bodega';
    } else if($edad > 5 && $edad <= 7){
        echo 'Parte media de la bodega';
    } else if($edad > 7 && $edad <= 12 ) {
        echo 'Parte alta de la bodega.';
    } else{
        echo 'Lo lamentamos no tienes espacio
        estas en otro grado';
    }
} 

almacen(3);
<function guardar($edad){
    switch ($edad) {
        case $edad < 5:
            echo "Almacenan sus juguetes en la parte inferior de la bodega";
            break;
        case $edad >= 5 && $edad <= 7:
            echo "Almacenan sus juguetes en la parte media de la bodega";
            break;
        case $edad > 7:
            echo "Almacenan sus juguetes en la parte alta de la bodega";
            break;
        
        default:
            echo "Los demas almacenaran sus juguetes en la bodega de al lado";
            break;
    }
}


guardar(5);

echo "\n";> 

En PHP:

<?php

function dibujar_arbol($base){
    $espacio = $base - 1;
    for ($i=0; $i <= $base; $i++) { 
        $a=0;
        $b=0;
        while ($a <=$espacio) {
            echo '&nbsp';
            $a++;
        }
        while ($b <$i) {
            echo "*";
            $b++;
        }
        echo "<br>";
        $espacio--;
    }
}

$tree = $_POST["tree"];
dibujar_arbol($tree);
<?php
//ALMACENAMIENTO DE JUGUETES
    echo ("¡Bienvenido al sistema de almacenamiento de juguetes!");


    function ordenamiento($edad){
        
        if($edad<5){
            echo("Almacenar en la parte inferior de la bodega");
        }
        else if ($edad>=5 && $edad <=7){
            echo("Almacenar en la parte media de la bodega");
        }
        else if($edad>7){
            echo("Almacenar en la parte alta de la bodega");
        }
        else{
            echo("Almacenar en bodega de al lado");
        }
    }
    echo("\n");
    $edad = readline("Por favor ingresa la edad del niño: ");
    
    ordenamiento($edad); 

//ARBOL DE NAVIDAD

echo ("¡Bienvenido a la creacion de tu medio arbol de Navidad!");


function construccion($valor){

    for ($i=0; $i < $valor ; $i++) { 

        $fila_ast = "*";
        $columna_ast ="*".$columna_ast;

        if ($i==0) {
            echo "$fila_ast\n";
        }
        else{
            echo "$columna_ast \n";
        }
    }
}
    
    echo("\n");
    $valor = readline("¿Cuántos asteriscos de alto quieres que tenga tu arbol? ");
    construccion ($valor);
?>

<?php

function edad($edad) {
    if ($edad < 5) {
        echo "Podras guardar tus juguetes en la parte inferior de la bodega\n";
    } elseif($edad >= 5 && $edad <= 7) {
        echo "Tendra sus espacios en la parte media de la bodega\n";
    } elseif($edad > 7) {
        echo "Tienes tus espacio en la parte alta de la bodega\n";
    } else {
        echo "No tienes ningun espacio\n";
    }
}
$edad = 6;
edad($edad);

for($i = 0; $i < 10; $i++) {
    echo str_repeat("*", $i) . "\n";
}

?>
<?php

function AsignacionEspacios ($edad) {
    switch ($edad) {
        case $edad < 5:
            echo "$edad tendrán sus espacios en la parte inferior de la bodega. \n";
            break;
        case $edad >=5 && $edad<=7:
            echo "$edad tendrán sus espacios en la parte media de la bodega. \n";
            break;
        case $edad > 7:
            echo "$edad tendrán sus espacios en la parte alta de la bodega. \n";
            break;
        case $edad == "undefined":
            echo "$edad tendrán un espacio de almacenamiento en la bodega de al lado. \n";
            break;
    };
};

$list = [4,5,10,'null'];

foreach ($list as $value) {
    AsignacionEspacios($value);
};

Ejercicio 2: lo hice utilizando doble bucle

<?php

//medio arbol

function medio_arbol ($altura){
    for($i = 1; $i <= $altura; $i++){
        for($k = 1; $k <= $i; $k++){
            echo "*";
        }
        echo "\n";
    }
}


medio_arbol(7);

echo "\n";
//Ejercicio 1
$edad=[4,6,10];
foreach($edad as $value){
    if($value<5){
        echo "el estudiante con $value años tendra los jueguetes en la parte inferior\n";
    }
    elseif($value>=5 && $value<=7){
        echo "el estudiante con $value años tendra los jueguetes en la parte media\n";
    }
    elseif($value>7){
        echo "el estudiante con $value años tendra los jueguetes en la parte alta\n";
    }
    else{
        echo "no hay registro de su edad pasar a la bodega de al lado\n";
    }
}
//Ejercicio 2
//ARBOL DE NAVIDAD
$altura=readline("De la altura del arbol: ");
function arbol($altura){
    $ast="";
    for($i=0;$i<$altura;$i++){    
        $ast=$ast."*";
        echo "$ast\n";   
    }
}
arbol($altura);

EJERCICIO #1

EJERCICIO #2

Mi aporte

// ejercicio 1 bodega

<?php

function num_estudiantes($num) { // crear la edad de forma aleatoria de estudiantes

    $edades = [];

    for ($i=0; $i < $num ; $i++) { 
        $edad = rand(-5, 10);
        $edades[$i] = $edad;
    }
    return $edades;
}

function msgEdades( $edad) {
    
    if( $edad >0 ) { // si edad mayor a 0 se indica la parte donde se guardara
     
        if( $edad < 5 ) {
            $parte = "parte inferior";
        } else if( $edad >= 5 && $edad < 7) {
            $parte = "parte media";
        } else if( $edad >= 7) {
            $parte = "parte alta";
        }

        return "El estudiante con $edad años tendrá sus juguetes en la $parte de la bodega \n";
    } else { // Si edad menor o igual a 0 se considera que no hay registro de la edad
        return "No hay registro de la edad del estdiante y sus jugutes se guardaran en la bodega del lado \n";
    }
}

$edades = num_estudiantes(2); // se crea el arreglo de edades de forma aleatoria
print_r($edades); // Se muestra el arreglo de edades



foreach ($edades as $edad) {
    echo msgEdades($edad);
}

Medio árbol de Navidad

<?php

function arbol($num) {
    $medio_arbol = "";
    for ($i=1; $i <= $num ; $i++) { 
        $medio_arbol .= "*";
        echo $medio_arbol . "\n";
    }
    return $medio_arbol;
}


arbol(10);

aqui mis implementaciones

<?php
$edades = [3,2,4,5,6,7,8,9, NULL];

foreach ($edades as $edad) {

    if ($edad === NULL) {
        echo "El estudiante sin edad registrada tendrá sus juguetes en la bodega de al lado. \n";
    }
    else{
        if ($edad < 5){
            echo "El estudiante con $edad años tendrá sus juguetes en la parte inferior de la bodega. \n";
        }
        else{
            if ($edad <= 7){
                echo "El estudiante con $edad años tendrá sus juguetes en la parte media de la bodega. \n";
            }
            else{
                    echo "El estudiante con $edad años tendrá sus juguetes en la parte alta de la bodega. \n";
            }
        }
    }
}
?>
<?php

$altura = (int)readline("ingresa la akltura del arbol: ");

for($i=0; $i<$altura; $i++){
    for($j=0; $j<=$i; $j++){
        echo "*";
    }
    echo "\n";
}

mi aporte para el arbol de navidad, bastante sencill

<?php

function arbol_Navidad($pisos){
    for ($i=0; $i < $pisos ; $i++) { 
        $tamaño .= "*";
        echo $tamaño ."\n";
    }
}

arbol_Navidad(readline("Ingrese el tamaño del arbol: "));

?>

es mi aporte para poder solicitar la edad al usuario de los niños y crear el array.

<code> 
<?php

$edad = array();
do {
    $edad_temp = readline("(Presione n para salir) o Ingrese la edad del niño: ");
    if ($edad_temp !== "n"){
        array_push($edad, $edad_temp);
    }
} while ($edad_temp != "n");

for ($i=0; $i < sizeof($edad) ; $i++) { 
    if ($edad[$i]<5 &&  $edad[$i] != 0){
        echo "El niño de edad $edad[$i] tendrá su regalo en la parte inferior de la bodega. \n";
    } elseif ($edad[$i] >= 5 and $edad[$i] <= 7){
        echo "El niño de edad $edad[$i] tendrá su regalo en la parte media de la bodega. \n";
    }elseif ($edad[$i] > 7) {
        echo "El niño de edad $edad[$i] tendrá su regalo en la parte alta de la bodega. \n";
    } else {
        echo "El niño de edad $edad[$i] tendrá su regalo en la bodega de al lado. \n";
    }
}

echo "\n";

?>
$altura = readline ("Ingresa la altura del árbol ");

function arbolDeNavidad($altura){
    $fila = "";
    echo "El arbol va de la siguiente manera. \n";
    for ($i=0; $i < $altura; $i++) { 
        echo $fila = $fila . "*";
        echo "\n";
    }
}

arbolDeNavidad($altura);
#almacenar.html
<body>
    <form action="numero01.php" method="post">
        <input type="text" name="edad" />
        <button type="submit">Almacenar en bodega</button>
    </form>
</body>
#numero01.php
<?php
if (isset($_POST)) {
    $edad = $_POST["edad"];
    if ($edad<5) {
        echo "Parte inferior";
    } elseif ($edad>=5 and $edad<=7) {
        echo "Parte media";
    } elseif ($edad>7) {
        echo "Parte alta";
    } else {
        echo "almacenar en la bodega de al lado";
    }
}
<?php
function arbolito ($tamanio) {
    $arbol = "";
    for ($x=0;$x<=$tamanio;$x++):
        $arbol = $arbol . "*";
        echo $arbol."<br>";
    endfor;
}
arbolito(20);

Ejercicio 1:

<?php
$edades = array(2,4,5,6,8,'undefined age');

foreach($edades as $edad) {
    switch ($edad) {
        case $edad>0&&$edad<5:
            echo "Debe ingresar el juguete en la parte inferior de la bodega";
            break;
            case $edad>=5&&$edad<=7:
                echo "Debe ingresar el juguete en la parte media de la bodega";
                break;
                case $edad>7&&$edad<=20:
                    echo "Debe ingresar el juguete en la parte superior de la bodega";
                    break;
                    default:
                    echo "No tiene registro, debe ingresar el juguete en la bodega de al lado";
                    break;
    }
}
?>

Ejercicio 2:

<?php
$cantidad = 10;
$at = "";

for ($i=0; $i<=$cantidad; $i++) {
$at .= '*';
echo $at."<br>";
}
?>

Ya había bastantes aportes haciendo medio arbolito, así que decidí tratar de hacer un árbol completo (con todo y estrella de Navidad)

<?php

function navidad($niveles){
  $espacio = $niveles - 1;
  echo str_repeat(" " , $espacio);
  echo "★" . PHP_EOL;

  for ($i=1; $i <= $niveles; $i++) {
    //Empezamos el loop en 1, de tal manera que $i corresponda siempre
    //al "indice" del nivel de arriba hacia abajo.
    //El ancho de cada nivel es siempre el doble de su indice menos 1
    $anchoDelNivel = (2 * $i) - 1; 
    echo str_repeat(" ", $espacio);
    echo str_repeat("*", $anchoDelNivel) . PHP_EOL;
    //Reducimos los espacios en 1 por cada nivel que añadimos
    $espacio--;
  }
}

navidad(7);

Lo que nos devuelve sería:

Gracias!

ARBOLITO
<?php
$asteriscos=readline("¿Qué altura quieres que tenga el arbolito ");
$contador=1;
do{
for($i=0;$i<$contador;$i++){
echo “*”;
}
$contador++;
echo “\n”;
}while ($contador<=$asteriscos);

BODEGA

<?php
$edad=readline("Introduce la edad: ");
switch(true){
case ($edad<5):
echo “Los estudiantes con $edad tendrán sus juguetes en la parte inferior de la bodega \n”;
break;
case ($edad>=5 && $edad<=7):
echo “lo estudiantes con $edad tendrán sus juguetes en la parte media de la bodega \n”;
break;
case ($edad>7):
echo “lo estudiantes con $edad tendrán sus juguetes en la parte media de la bodega \n”;
break;
default:
echo “lo estudiantes con $edad tendrán sus juguetes en la bodega de al lado \n”;

}

Agrego mi aporte un poco tarde, y además funciona, en el primer ejercicio cuando la variable no lleva un número sale un error y muestra el resultado XD, en el segundo si funciono bien, tuve que guiarme un poco de mis compañeros.

Ejercicio 1

<?php

$edad=2 ;
    switch($edad){
        case $edad<5||$edad>=0:
            echo "Los estidiantes con ".$edad." años tendrán sus juguetes en la parte inferior de la bodega.";
        break;
        case $edad==5||6||7:
            echo "Los estidiantes con ".$edad." años tendrán sus juguetes en la parte media de la bodega.";
        break;
        case $edad>=8 or $edad>=0:
            echo "Los estidiantes con ".$edad." años tendrán sus juguetes en la parte alta de la bodega.";
        break;
        default:
            echo "Los que no tengan una edad registrada, tendrán sus jueguetes en la parte de almacenamiento en la bodega de al lado";
        break;
    }

?> 

Ejercicio 2

<?php

function arbol($altura){

    for ($i=0;$i<$altura;$i++){
        $simbolo .= "*";
         echo $simbolo."\n";
    }
}

arbol(10);

?>

Aporte Practica 2: Medio arbol de navidad

<?php
function medioArbol($niveles)
{
    for ($i=1; $i <= $niveles; $i++) { 
        echo str_repeat("*", $i)."\n";
    }
}
echo medioArbol(7);
?>

Mis aporte Practica 1: Con una condicion

<?php

function guardarEnBodega($edad){
    // Edad no definida
    if (empty($edad) || is_null($edad)) {
        echo "No tiene registro de su edad tendrá un espacio de almacenamiento en la bodega de al lado. \n";
    }else{
        // Edad menor a 5 años
        if ($edad < 5) {
            echo "El estudiante con $edad años tendrá sus juguetes en la parte inferior de la bodega.\n";
        }
        // Edad entre 5 y 7 años
        if ($edad>=5 && $edad <=7) {
            echo "El estudiante con $edad años tendrá sus juguetes en la parte media de la bodega.\n";
        }
        // Edad mayor a 7 años
        if ($edad>7) {
            echo "En estudiante con $edad años tendrá sus juguetes en la parte alta de la bodega.\n";
        }
    }
}

// Array definiendo la edad de los estudiantes
$estudiantes = array(3,'',5,6,7,'',8,12);

for ($i=0; $i <count($estudiantes) ; $i++) { 
    guardarEnBodega($estudiantes[$i]);
}

?>
  1. Con una condición…
<?php

/**
 * Con una condición…
 */
$ninos = [
    'Juancito' => 10,
    'Pedro' => 5,
    'Carlos' => 7,
    'José' => 4,
    'Mariano' => NULL,
];

foreach ($ninos as $nombre => $edad) {
    echo 'El estudiante ' . $nombre . ' tendrá sus juguetes en la ' . validarEdad ($edad) . '<br />';
}

function validarEdad ($edad)
{
    if (!$edad) {
        return 'bodega de al lado.';
    }
    elseif ($edad < 5) {
        return 'parte inferior de la bodega.';
    }
    elseif ($edad >= 5 && $edad <= 7) {
        return 'parte media de la bodega.';
    }
    else {
        return 'parte alta de la bodega.';
    }
}
  1. Medio árbol de Navidad
<?php

/**
 * Medio árbol de Navidad
 */
function crearArbolito ($altura)
{
    echo '<center>';
    for ($i=1; $i <= $altura; $i++) { 
        # code...
        echo str_repeat('*', $i) . "<br/>";
    }
    echo '</center>';
}

crearArbolito(30);

Bodega:

<?php

$estudiante = array(5, 8, 9, 2, 1, 3, 6, 7, -1, 1, 5, 6, 7);

for ($i=0; $i < count($estudiante); $i++) { 
    if ($estudiante[$i] > 0 && $estudiante[$i] < 5) {
        echo "El estudiante con $estudiante[$i] años tendra sus juguetes en la parte inferior de la bodega. \n";
    }elseif($estudiante[$i] >= 5 && $estudiante[$i] <= 7){
        echo "El estudiante con $estudiante[$i] años tendra sus juguetes en la parte media de la bodega. \n";
    }elseif ($estudiante[$i] > 7) {
        echo "El estudiante con $estudiante[$i] años tendra sus juguetes en la parte superior de la bodega. \n";
    }else{
        echo "Quienes no tengan registro de su edad aún tendrán un espacio de almacenamiento en la bodega de al lado. \n";
    }
}

Medio Arbol:

<?php

$asteriscos = readline("Ingresa la altura del arbol: ");
$contador = 0;

for ($i=0; $i < $asteriscos ; $i++) { 
    $contador += 1;
    echo str_repeat("*", $contador);
    echo "\n";
}

<?php

$j = 10;

for($i = 0; $i < $j; $i++) {
for($k = 0; $k <= $i; $k++){
echo(’*’);
}
echo("<br>");
}

**EJERCICIO 2 **

<?php
function arbolNavidad($pisos){
for ($i=0; $i <$pisos; $i++) {    
    echo str_repeat("*", $i) ."\n"; 
    }
}
arbolNavidad(15)
?>

**Ejercicio 1
**

<?php
function ejercicioEdad(){
    $edad = 8 ;
    if($edad <5 && $edad ==1 ){
        echo("Quienes sean menores de 5 años tendrán sus espacios en la parte inferior de la bodega.");
    }
    if($edad == 5 OR $edad == 7){
        echo ("Quienes tengan entre 5 y 7 años tendrán sus espacios en la parte media de la bodega.");
    }
    if($edad >= 7 ){
        echo("Quienes tengan más de 7 años tendrán sus espacios en la parte alta de la bodega. ");
    }else{
        echo " Quienes no tengan registro de su edad aún tendrán un espacio de almacenamiento en la bodega de al lado.";
    }
}
ejercicioEdad()
?>

Ejercicio 1:

<?php

$edades = array();
$cantidad_estudiantes = 5;  //Definir cantidad de estudiantes

for ($i=0;  $i<$cantidad_estudiantes;    $i++) {
    $edad_aleatoria = rand(0,14);
    if ($edad_aleatoria == 0){
        array_push($edades,"Sin edad");
    }
    elseif ($edad_aleatoria != 0){
        array_push($edades,$edad_aleatoria);
    }
}

for ($i=0;  $i<$cantidad_estudiantes;    $i++) { 
    if($edades[$i] <=4){
        echo "El  estudiante con ". $edades[$i] ." años tendrá sus jugetes en la parte inferior de la bodega.<br>";
    }
    if ($edades[$i] >= 5 && $edades[$i] <= 7){
        echo "El  estudiante con ". $edades[$i] ." años tendrá sus jugetes en la parte media de la bodega.<br>";
    }
    if ($edades[$i] > 7 && $edades[$i] <= 14){
        echo "El  estudiante con ". $edades[$i] ." años tendrá sus jugetes en la parte alta de la bodega.<br>";
    }
    if ($edades[$i] === "Sin edad"){
        echo "El  estudiante Sin Edad tendrá un espacio de almacenamiento en la bodega de al lado.<br>";
    }
}
?>

Ejercicio 2

<?php

$arbolito = "*";
$cantidad = 10;

for ($i=0;  $i<$cantidad;   $i++){
    echo $arbolito."<br>";
    $arbolito .= "*";
}

?>

Copiá y pegá este código para ver un árbol completo, con altura dinámica y en colores 😉
Me da pereza subirles una foto, disculpen!

<?php
crearArbol(17);

function espacios($esp){
    for($i=1;$i<=$esp;$i++){
        echo '<span style="color:red">_<span/>';
    }
}

function asterisco($ast){
    for($i=1;$i<=$ast;$i++){
        echo '<span style="color:green">*<span/>';
    }
}

function salto(){
    echo '<br/>';
}

function crearArbol($dato){
    $altura = $dato;
    $incremento = 1;
    $vacio = $altura;
    
    $i = 0;

    while($i < $altura){
        espacios($vacio);
        asterisco($incremento);
        espacios($vacio);

        $incremento = $incremento + 2;
        $vacio = $vacio - 1;
        salto();
        
        $i++; 
    }
}

Index.php

<?php require_once 'functions.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">
    <title>Document</title>
</head>
<body>
    <form action="index.php" method="GET">

        <label for="edad">Edad</label><br>
        <input type="text" name="edad">
        <input type="submit" value="Enviar">
    </form><br>
    
    <form action="index.php" method="GET">
        <label for="arbol">Ingresa el tamaño del arbol</label><br>
        <input type="text" name="arbol">
        <input type="submit" value="Enviar">
    </form>


    <?php if(isset($result)): ?>
        <h2><?=$result?></h2><br>
    <?php elseif(isset($tamaño)): ?>
    
        <h2><?= arbolito($tamaño);?></h2>
    <?php endif;?><br>
</body>
</html>

function.php

<?php

if(isset($_REQUEST['edad'])) {

    $años = $_REQUEST['edad'];
    $result = espacioBodega($años);
}

if(isset($_REQUEST['arbol'])) {
    $tamaño = $_REQUEST['arbol'];
}


function espacioBodega($age){

    // $age = (int)$age;
    $parteBodega = '';
    if($age > 0 && $age < 5) {

        $parteBodega = 'inferior';

    } elseif($age >= 5 && $age <= 7) {
        
        $parteBodega = 'media';

    }elseif($age > 7) {
        $parteBodega = 'alta';

    } else {

        $parteBodega = "El estudiante sin edad registrada tendra sus juguetes en la bodega de al lado";
        return $parteBodega;
    }
        
    return "El estudiante con {$age} años tendra sus juguetes en la parte {$parteBodega} de la bodega";
}


function arbolito($number){
    $caracter = '';
    for ($i=0; $i < $number ; $i++) {
    
        $caracter .= '*';
        echo $caracter .'<br>';
    }
    
}


Bien bomnito el arbolito jajaja

<?php

function drawTree($size){

    for($i=1; $i<$size *2; $i+=2){
        echo str_repeat(' ',floor( ($size*2-$i)/2));
        echo str_repeat('*',$i);
        echo "\n";
    }
    if($size>2){
        $root=$size-2;
        for($i=1; $i< ceil($size/2)+1; $i++){

            echo str_repeat(' ',$root);
            echo str_repeat('*',3);
            echo "\n";
            }
    }


}



drawTree(15);

BODEGA

<?php 

function bodega($edades){
    foreach ($edades as $i) {
        switch ($i) {
            case $i < 5:
                echo "Parte inferior de la bodega "."\n";
                break;
            case (5 <= $i && $i < 7):
                echo "Parte media de la bodega "."\n";
                break;
            case $i >= 7:
                echo "Parte superior de la bodega "."\n";
                break;
            default:
                echo "Colocar en la bodega de al lado "."\n";
                break;
        }
    }
}

$edades = array(3,5,3,6,7,NAN,9,4,10);

bodega($edades);

MEDIO PINO

<?php

function pino($altura){
    for ($i=0; $i < $altura; $i++) {
        echo str_repeat('*',$i)."\n";
    }
}

$altura = 7;

pino($altura);

Comparto el ejercicion 1

  $estudiantes = array ( "carlos" => "4", "jose" =>"7", "felipe" => "8", "Sergio" =>"6", "juan" => "5", "pedro" => null);  
  
  foreach($estudiantes as $nombre => $edad){

    if($edad < 5 and $edad > 1){
        echo "El estudiante ".$nombre." tiene ".$edad. " años, tendra sus jugetes en la parte inferios de la bodega". "<br/>";
    }

    else if($edad >= 5 and $edad < 7){
        echo "El estudiante ".$nombre." tiene ".$edad. " años, tendra sus jugetes en la parte media de la bodega". "<br/>";
    }

    else if( $edad >= 7){
        echo "El estudiante ".$nombre." tiene ".$edad. " años, tendra sus jugetes en la parte alta de la bodega". "<br/>";
    }

    else{
        echo "El estudiante ".$nombre." no tiene una edad especifica, tendra sus jugetes a un lado de la bodega". "<br/>";
    }
  }