Contenido del curso
Arreglos
Condicionales
Bucles
Funciones
Proyecto: juego del ahorcado con PHP
Bonus: HTML con esteroides
Próximos pasos
Parámetros en las funciones
Contenido del curso
Parámetros en las funciones
Henry
EstudianteFabio Montenegro
EstudianteGuadalupe Monge Barale
EstudianteCristian Pisco Intriago
EstudianteMarina Sonia
EstudianteBryan Castano
EstudianteJeferson Danilo Castro Becerra
EstudianteAna Maria Barbosa
EstudianteCarlos Eduardo Gomez García
ProfesorEduardo Peraza Vindas
EstudianteEduardo Peraza Vindas
EstudianteJosé Fabián Beltrán Meza
Estudiantebrayan miguel Oblitas Mejia
EstudianteEdgar Castro
EstudianteJoel Dominguez Merino
EstudianteJuan David Rueda Quiroga
EstudianteMoises de Jesus Martínez Hinojosa
EstudianteJimmy Buriticá Londoño
EstudianteSebastian Pérez
EstudianteJulio Cardenas
EstudianteKelly Elideth Ramos Mateos
EstudianteJosé luis Valbuena lugo
EstudianteVictor R. M Cárdenas.
EstudianteArturo Matías López Salinas
EstudianteKiara Rebecca Olortegui Tirado
EstudianteJose Alejandro Pantoja Giraldo
EstudianteJonnathan Lozano Moreira
Estudianteun ejemplo super sencillo y mi pequeño aporte. los parámetros son datos que pasamos a la función para que esta los utilice y nos devuelva un resultado a partir de ellos.
<?php function suma($numero1, $numero2){ echo $numero1 + $numero2; } suma(2,3); ?>
Un ejemplo básico, pero muy práctico para verlo de manera sencilla.
Aquí mi aporte. Con el tema del foreach había hecho (guiándome por un compa) un buscador tipo diccionario. Español - Inglés. Acá está dentro una función.
function buscar_dia($dia_buscado){ //Convertimos a minúsculas $dia_buscado = strtolower($dia_buscado); // Primer letra en mayuscula para que coincida con array $dia_buscado = ucfirst($dia_buscado); $dias = array( "Lunes" => "Monday", "Martes" => "Tuesday", "Miercoles" => "Wednesday", "Jueves" => "Thursday", "Viernes" => "Friday", "Sabado" => "Saturday", "Domingo" => "Sunday" ); // recorremos el array foreach($dias as $español => $ingles){ if($dia_buscado === $español){ echo "\n\t El día $dia_buscado se escribe en inglés $ingles "; break; } } return $dia_buscado; } $dia_buscado = readline("\nEscribe el día de la semana que quieras saber como se escribe en inglés: "); buscar_dia($dia_buscado);
Si en lugar de sumar dos números, queremos sumar varios números, podemos crear una función que reciba una lista de números.
function sum(...$args) { return array_sum($args); } echo sum(1,2,3,4) // 10;
muy bueno tu ejemplo y si queremos concatenar strings:
function adicionar(...$args)
{
return implode(', ', $args); // Concatenamos los valores con una coma y espacio
}
echo adicionar('Hola', 'mundo', 'en', 'PHP'); // Resultado: "Hola, mundo, en, PHP"
Gracias por vuestro ejemplo, esto se parece a otros lenguajes de progeamacion que Yo he aprnedido antes. incluso compilados vs Interpretados \n
Mi humilde aporte, decidi que el sistema decidiera con un rand si era pro o no :V
ValidaEstudianteLeged(rand(0, 40000)); function ValidaEstudianteLeged($rankPlatzi) { if ($rankPlatzi >= 20000) { echo "tienes un puntaje de $rankPlatzi, Wow eres todo un crak! <br>"; } else { echo "tienes un puntaje de $rankPlatzi, Sigue practicando bro, pronto lo lograras! <br>"; } }
Estoy haciendo las pruebas con el navegador, ¿la pregunta es, como hago para recibir datos por teclado haciendo pruebas por navegador? no me deja,
En el navegador tendrías que leer los datos desde un input HTML, por eso para más comodidad estamos usando la terminal :D
Adjunto mi codigo:
Lo hice de tal forma para que se repita hasta que el usuario decida salir del programa
<?php function es_estudiante_legend($platzi_rank){ if ($platzi_rank >= 20000){ echo "Eres un estudiante legend \n"; } else{ echo "Lo siento, aun no alcanzas el nivel legend \n"; } } $active = true; while($active == true){ $rank_input = readline("Digita tu rango platzi: "); es_estudiante_legend($rank_input); echo "\n"; $continuar = readline("Digite 0 para finalizar el programa, de lo contario digite cualquier tecla para continuar \n"); echo "\n"; if ($continuar == 0){ $active = false; } }
En la seccion de aportes deje mi codigo, haciendo lo mismo pero solo con ciclo while, me cuesta entender cuando es conveniente usar el do while o el while solito
<?php function es_estudiante_legend($platzi_rank){ if ($platzi_rank >= 20000){ echo "Eres un estudiante legend \n"; } else{ echo "Lo siento, aun no alcanzas el nivel legend \n"; } } $active = true; do{ $rank_input = readline("Digita tu rango platzi: "); es_estudiante_legend($rank_input); $continuar = readline("Digite 0 para finalizar el programa, de lo contario digite cualquier tecla para continuar \n"); if ($continuar == 0){ $active = false; } } while($active == true);
El do while, lo debes usar cuando quieres ejecutar algo por lo menos una vez, mientras que el while solo se ejecuta dependiendo de la condición, en el caso del WHILE si dicha condición es falsa de entrada, el ciclo while no se ejecutará. Espero poder ayudarte.
y como podria detener el while?
En el ejemplo de la clase la única manera de salir es presionando ctrl + c
Con el uso de parámetros potenciamos aún más a nuestras funciones ya que podemos hacer el tratamiento de esa información que entra de una forma especial y eso las hace más dinámicas al momento de regresar ciertos valores. Comparto el ejemplo que hice donde la función imprime el la tabla de multiplicar del número que recibió como argumento .
Me encantó el readline :)
Este es mi aporte, lo modifiqué de tal forma que no puedan salir hasta que los estudiantes tengan su rank de legend, jejeje.
<?php function estudianteLegend($puntos_platzi) { if ($puntos_platzi >= 20000) { echo "Eres un estudiante LEGEND!!!\n"; $status = true; return $status; } else { echo "Lo sentimos, aún no alcanzas el nivel LEGEND.\n"; $status = false; return $status; } } do { $puntos_platzi = (int) readline("Ingresa tus puntos de Platzi: "); $status_legend = estudianteLegend($puntos_platzi); } while ( !$status_legend );
No es necesario el uso de la variable $status dentro de la función, puedes regresar el valor directamente así:
function estudianteLegend($puntos_platzi) { if ($puntos_platzi >= 20000) { echo "Eres un estudiante LEGEND!!!\n"; return true; } else { echo "Lo sentimos, aún no alcanzas el nivel LEGEND.\n"; return false; } }
function student_legend(int $rank) { if ($rank < 1 || $rank > 100) { echo "Rank invalido. Debe estar entre 1 y 100.\n"; return; } if ($rank < 50) { echo "El estudiante con rank $rank necesita mejorar su rendimiento academico.\n"; } if ($rank >= 90) { echo "El estudiante con rank $rank tiene un buen desempeño academico.\n"; } } do { $usuario_rank = (int)readline("Ingrese el rank del estudiante (1-100): "); student_legend($usuario_rank); if ($usuario_rank === 0) { echo "Saliendo del programa.\n"; break; } } while(true);
Mi aporte :D
function es_estudiante_legend($platzi_rank) { if ($platzi_rank >= 20000){ echo "Eres un estudiante legend 🙂\n"; }else{ echo "Aun no eres un estudiante legend 😫\n"; } } do { $platzi_rank_user = (int) readline("Introduzca su rank de Platzi: "); es_estudiante_legend($platzi_rank_user); $program_continue = strtolower(readline("¿Desea terminar de ejecutar el programa? Y/N: ")); // echo "Su respuesta fue $program_continue"; } while ($program_continue != "y"); echo "\n";
## 📌 Argumentos vs Parámetros
|Concepto|Definición|
|---|---|
|**Parámetros**|Variables definidas en la función.|
|**Argumentos**|Valores reales que se pasan al llamar la función.|
function suma($a, $b){ // $a y $b son parámetros   return $a + $b;  }   $resultado = suma(3, 4); // 3 y 4 son argumentos`
---
<?php function es_estudiante_legend($platzi_rank){ $resul = ($platzi_rank >= 2000) ? 'Eres un estudiante Legend' : 'Lo sentimos, aun no alcanzas el nivel legend, sigue adelante!'; echo $resul; } es_estudiante_legend($dato = readline('Ingrese la cantidad que tenga? :')); ?> ```\<?phpfunction es\_estudiante\_legend($platzi\_rank){ $resul = ($platzi\_rank >= 2000) ? 'Eres un estudiante Legend' : 'Lo sentimos, aun no alcanzas el nivel legend, sigue adelante!'; echo $resul;}es\_estudiante\_legend($dato = readline('Ingrese la cantidad que tenga? :'));?>
Hice la funcion de la clase anterior pero con parámetros:
<?php $min = readline("Por favor ingrese el numero minimo "); $max = readline("Por favor ingrese el numero maximo "); function poketontos ($min , $max){ $numero_aleatorio = rand( $min , $max); switch ($numero_aleatorio) { case 1: echo "Pikachu"; break; case 2: echo "Charmander"; break; case 3: echo "Mewto"; break; default: echo "Lo siento, no hay pokemon pa ti"; break; } echo "\n"; } for( $i = 0; $i < 20 ; $i++ ){ poketontos($min , $max); }
pipipi
PILAS CON EL USO DE LOS WHILE!! primer aviso jajaja xD
me gustó mucho la forma de usar varios ciclos para reciclar código.. me ha dado varias ideas