Al parecer soy el primero en tomar tu curso, tus aportes y ahora tus cursos realmente son muy didácticos y amenos
Introducción
¿Ya conoces los fundamentos de PHP?
Arreglos
¿Qué son los arreglos?
Arreglos asociativos
Manipulando arreglos
Reto: escuela de michis
Condicionales
Aprende a tomar decisiones con if y else
Cómo organizar tu código con switch
Reto: ¿puedo retirar mis donaciones de Twitch?
Bucles
Ciclo while
¿Do... While?
Ciclo for
Ciclo foreach
Reto: ¿cuántos caminos hay para llegar al mismo punto?
Funciones
Aprende a reutilizar tu código: funciones
Parámetros en las funciones
Profundicemos en los parámetros
Uso de return
Operador de nave espacial
¡Expande tu arsenal de funciones!
Reto: completa el código
Proyecto: juego del ahorcado con PHP
¡Hagamos un juego con PHP!
Validando las letras de los usuarios
Terminando de programar el juego
Bonus: HTML con esteroides
Cómo interactúa PHP con HTML
Próximos pasos
Toma el Curso Práctico de PHP
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 24
Preguntas 0
Al parecer soy el primero en tomar tu curso, tus aportes y ahora tus cursos realmente son muy didácticos y amenos
Las funciones son bloques de código que creamos para realizar tareas especificas, cuando hay un proceso repetitivo en tu programa, en lugar de escribir las mismas líneas de código, puedes crear un función y luego invocarla cuantas veces desees.
😃
Mi solución al reto anterior
$numb = (int)readline("Dinos a que casa deseas llegar: ");
$numb2 = 0;
$numb3 = 1;
for ($i=0; $i < $numb; $i++) {
$numb2 += $numb3;
$numb3 = $numb2 - $numb3;
}
echo "La cantidad de maneras de llegar a esa casa son: " . $numb2 . "\n";
Nos damos cuenta de que de que las formas de llegar siguen la serie de Fibonacci, ya que la suma de dos posiciones consecutivas resultan la tercera posición
Si a = 1, b = 1, c = 1+1 => c = 2
De igual manera Si b = 1, c = 1, entonces a = 0, porque c = a+b => c = 0+1 = 1
a = 1, b = 0, c = 1
a = 0, b = 1, c = 1 ( a toma el valor del b anterior y b toma el valor del c anterior)
a = 1, b = 1, c = 2
a = 1, b = 2, c = 3
a = 2, b = 3, c = 5
Si no te diste cuenta, cada c es un número de fibonacci (1, 1, 2, 3, 5)
/*Declaramos variabes a, b, c que generarán cada número de fibonacci*/
$a = -1;
$b = 1;
$c = 0; // c = a + b
/* Creamos un array donde se almacenará cada número de fibonacci*/
$array_posiciones=[];
/* Para generar cualquier cantidad cantidad de números de fibonacci solo se debe de cambiar el 9 por la cantidad que deseas, aquí colocamos 9 porque hay 9 tiendas*/
for ($i=1; $i <= 9; $i++) {
/* actualizamos los valores de a y b igualando al valor que le sigue*/
$a = $b; // 1 0 1 1
$b = $c; // 0 1 1 2
/* sumamos a y b para generar un número de fibonacci*/
$c = $a + $b; // 1 1 2 3
/*guardamos cada número de fibonacci en el arreglo*/
array_push($array_posiciones, $c);
}
Para ver los elementos del arreglo puedes utilizar la función print_r() o var_dump()
//Creamos la serie de fibonacci
$a = -1;
$b = 1;
$c = 0;
$array_posiciones=[];
for ($i=1; $i <= 9; $i++) {
$a = $b;
$b = $c;
$c = $a + $b;
array_push($array_posiciones, $c);
}
// pedimos al usuario que ingrese la posición
$posicion_ir = readline("Ingrese la posición a la tienda que quiere ir(1-9): ");
// guardamos la cantidad de formas para la posición indicada y le restamos uno porque los arreglos comienzan desde 0
$cant_formas = $array_posiciones[$posicion_ir-1];
// finalmente imprimimos
echo "De la tienda 1 a la $posicion_ir hay $cant_formas formas posibles";
Funciones en PHP
Las funciones en PHP son bloques de código que se pueden llamar en cualquier parte de un programa para realizar una tarea específica. Las funciones se utilizan para modularizar el código y hacerlo más fácil de mantener y reutilizar.
Las funciones en PHP se definen utilizando la palabra clave function
, seguida del nombre de la función y los parámetros que recibe (si los tiene), y luego el bloque de código que se ejecuta cuando se llama a la función. La sintaxis básica es la siguiente:
function nombre_funcion($parametro1, $parametro2, ...) {
// Código a ejecutar
}
En este caso, nombre_funcion
es el nombre de la función y $parametro1
, $parametro2
, etc. son los parámetros que recibe la función. Los parámetros son opcionales y se pueden omitir si la función no los necesita.
Para llamar a una función en PHP, se utiliza el nombre de la función seguido de los parámetros que se desean pasar a la función (si los tiene), encerrados en paréntesis. La sintaxis básica es la siguiente:
nombre_funcion($arg1, $arg2, ...);
En este caso, nombre_funcion
es el nombre de la función y $arg1
, $arg2
, etc. son los argumentos que se pasan a la función. Los argumentos son opcionales y se pueden omitir si la función no los necesita.
Las funciones en PHP pueden devolver un valor utilizando la palabra clave return
. Si se utiliza return
, la función terminará y devolverá el valor especificado. La sintaxis básica es la siguiente:
function nombre_funcion($parametro1, $parametro2, ...) {
// Código a ejecutar
return $valor;
}
En este caso, $valor
es el valor que se devuelve cuando se llama a la función. Si la función no tiene un valor de retorno, se puede omitir la palabra clave return
.
A continuación se muestra un ejemplo de una función en PHP que toma dos números como parámetros y devuelve su suma:
function sumar($num1, $num2) {
$resultado = $num1 + $num2;
return $resultado;
}
// Llamado de la función
$suma = sumar(5, 3);
// Imprimir el resultado de la función
echo "La suma es: " . $suma;
En este caso, la función sumar
toma dos números como parámetros, los suma y devuelve el resultado. Luego, se llama a la función con los argumentos 5 y 3, y se almacena el resultado en la variable $suma
. Finalmente, se imprime el resultado utilizando el comando echo
.
La salida esperada del código es:
La suma es: 8
En PHP, se pueden definir valores predeterminados para los parámetros de una función. Si se omite un argumento al llamar a la función, se utilizará el valor predeterminado. La sintaxis básica es la siguiente:
function nombre_funcion($parametro1 = valor_predeterminado1, $parametro2 = valor_predeterminado2, ...) {
// Código a ejecutar
}
En este caso, $parametro1
, $parametro2
, etc. son los parámetros que recibe la función y valor_predeterminado1
, valor_predeterminado2
, etc. son los valores predetermin# Funciones en PHP
Las funciones en PHP son bloques de código que se pueden llamar en cualquier parte de un programa para realizar una tarea específica. Las funciones se utilizan para modularizar el código y hacerlo más fácil de mantener y reutilizar.
Las funciones en PHP se definen utilizando la palabra clave function
, seguida del nombre de la función y los parámetros que recibe (si los tiene), y luego el bloque de código que se ejecuta cuando se llama a la función. La sintaxis básica es la siguiente:
function nombre_funcion($parametro1, $parametro2, ...) {
// Código a ejecutar
}
En este caso, nombre_funcion
es el nombre de la función y $parametro1
, $parametro2
, etc. son los parámetros que recibe la función. Los parámetros son opcionales y se pueden omitir si la función no los necesita.
Para llamar a una función en PHP, se utiliza el nombre de la función seguido de los parámetros que se desean pasar a la función (si los tiene), encerrados en paréntesis. La sintaxis básica es la siguiente:
nombre_funcion($arg1, $arg2, ...);
En este caso, nombre_funcion
es el nombre de la función y $arg1
, $arg2
, etc. son los argumentos que se pasan a la función. Los argumentos son opcionales y se pueden omitir si la función no los necesita.
Las funciones en PHP pueden devolver un valor utilizando la palabra clave return
. Si se utiliza return
, la función terminará y devolverá el valor especificado. La sintaxis básica es la siguiente:
function nombre_funcion($parametro1, $parametro2, ...) {
// Código a ejecutar
return $valor;
}
En este caso, $valor
es el valor que se devuelve cuando se llama a la función. Si la función no tiene un valor de retorno, se puede omitir la palabra clave return
.
A continuación se muestra un ejemplo de una función en PHP que toma dos números como parámetros y devuelve su suma:
function sumar($num1, $num2) {
$resultado = $num1 + $num2;
return $resultado;
}
// Llamado de la función
$suma = sumar(5, 3);
// Imprimir el resultado de la función
echo "La suma es: " . $suma;
En este caso, la función sumar
toma dos números como parámetros, los suma y devuelve el resultado. Luego, se llama a la función con los argumentos 5 y 3, y se almacena el resultado en la variable $suma
. Finalmente, se imprime el resultado utilizando el comando echo
.
La salida esperada del código es:
La suma es: 8
En PHP, se pueden definir valores predeterminados para los parámetros de una función. Si se omite un argumento al llamar a la función, se utilizará el valor predeterminado. La sintaxis básica es la siguiente:
function nombre_funcion($parametro1 = valor_predeterminado1, $parametro2 = valor_predeterminado2, ...) {
// Código a ejecutar
}
En este caso, $parametro1
, $parametro2
, etc. son los parámetros que recibe la función y valor_predeterminado1
, valor_predeterminado2
, etc. son los valores predeterminados que se utilizarán si no se proporciona un valor para esos parámetros al llamar a la función.
A continuación se muestra un ejemplo de una función en PHP que toma un número como parámetro y un valor predeterminado de 1 para el segundo parámetro, que se utiliza para multiplicar el número:
function multiplicar($num, $multiplicador = 1) {
$resultado = $num * $multiplicador;
return $resultado;
}
// Llamado de la función sin el segundo parámetro
$resultado1 = multiplicar(5);
// Llamado de la función con el segundo parámetro
$resultado2 = multiplicar(5, 3);
// Imprimir los resultados de la función
echo "Resultado 1: " . $resultado1 . "\\n";
echo "Resultado 2: " . $resultado2 . "\\n";
En este caso, la función multiplicar
toma un número como parámetro y un valor predeterminado de 1 para el segundo parámetro, que se utiliza para multiplicar el número. Si se llama a la función sin proporcionar un segundo parámetro, se utilizará el valor predeterminado de 1. Si se proporciona un segundo parámetro, se utilizará ese valor en lugar del valor predeterminado.
La salida esperada del código es:
Resultado 1: 5
Resultado 2: 15
En PHP, se pueden definir funciones que acepten un número variable de argumentos utilizando el operador ...
. La sintaxis básica es la siguiente:
function nombre_funcion(...$argumentos) {
// Código a ejecutar
}
En este caso, $argumentos
es un número variable de argumentos que se pueden pasar a la función.
A continuación se muestra un ejemplo de una función en PHP que acepta un número variable de argumentos y devuelve su suma:
function sumar_varios(...$numeros) {
$total = 0;
foreach ($numeros as $num) {
$total += $num;
}
return $total;
}
// Llamado de la función con diferentes números de argumentos
$resultado1 = sumar_varios(2, 4, 6, 8);
$resultado2 = sumar_varios(1, 3, 5);
// Imprimir los resultados de la función
echo "Resultado 1: " . $resultado1 . "\\n";
echo "Resultado 2: " . $resultado2 . "\\n";
En este caso, la función sumar_varios
acepta un número variable de argumentos y devuelve la suma de los argumentos. El código utiliza un bucle foreach
para iterar sobre los argumentos y sumarlos.
La salida esperada del código es:
Resultado 1: 20
Resultado 2: 9
También se puede invocar una función antes de declararla.
Las funciones es algo de lo que más me genero ilusión la primera vez que las aprendi en programación.
El hecho de poder reutilizar un pedazo de código las veces que quieras…
Comparto mi apunte en el que ejemplifique como poder obtener la tabla de multiplicar de un número generado aleatoriamente entre 1 y 10, usando una función.
.
Practicando un poco con funciones…
<?php
function get_lenguaje() {
$numero_aleatorio = rand(1,5);
if ($numero_aleatorio == 1){
echo ('El numero 1 corresponde al lenguaje Python');
} else if ($numero_aleatorio == 2){
echo ('El numero 2 corresponde a Javascript');
}else{
echo ('El numero '. $numero_aleatorio.' no tiene lenguaje asociado');
}
}
for ($i=0; $i < 20; $i++) {
get_lenguaje();
echo "<br>";
}
busquen el algoritmo de fibonacci
Siempre una chulada recordar esto.
Eventualmente, según el framework puedes llamar funciones públicas en cualquier parte de la app, es una joya.
me parece muy atractiva esta forma de reciclar codigo
Un pequeño ejemplo de esta clase 💚
<?php
function helados () {
$helado = array("chocolate", "fresa", "vainilla", "chocochip", "menta");
$random = array_rand($helado);
if ($random <= 4)
echo "Tu helado es de: " .$helado[$random];
else
echo "Se acabo el helado 😕";
}
helados();
echo "\n";
?>
Mi código con comentarios explicando, muy buena clase Carlos!
<?php
//Declaración de función
function get_pokemon() {
// Genera un número aleatorio entre 1 y 5
$numero_aleatorio = rand(1, 5);
// Utiliza una estructura de control switch para determinar
// qué Pokemon se imprimirá en la consola
switch ($numero_aleatorio) {
case 1:
// Si el número aleatorio es 1, se imprimirá "Pikachu"
echo "Pikachu\n";
break;
case 2:
// Si el número aleatorio es 2, se imprimirá "Charmander"
echo "Charmander\n";
break;
case 3:
// Si el número aleatorio es 3, se imprimirá "Mewtwo"
echo "Mewtwo\n";
break;
default:
// Si el número aleatorio no es 1,2 o 3 se imprimirá "Lo siento, no hay ningún Pokemon para ti"
echo "Lo siento, no hay ningún Pokemon para ti\n";
}
}
//Llamando a la funcion 20 veces
for ($i=0; $i < 20; $i++) {
get_pokemon();
}
//salto de linea al final
echo "\n";
wow
Toda función de usuario comienza con la palabra function y el nombre de la función. A continuación de esto, encerrados entre paréntesis, aparece la lista de parámetros separados por coma. Luego viene la secuencia de comandos que conforma la función en sí encerrados entre llaves.
Una función puede o no retornar un valor al ser ejecutada. De ser así, debemos asegurarnos de colocar al menos un comando return antes del final de la función. Este comando indica el valor a ser retornado.
Para llamar a una función debemos simplemente escribir su nombre y poner entre paréntesis los valores con los que deseamos que trabaje, Además, si la función está hecha para retornar un resultado y queremos hacer uso del mismo, sería conveniente almacenar el mismo en una variable o usarlo directamente como condición de algún comando.
En esencia, una función no es más que un fragmento de programa al que, por razones de reusabilidad o de estructura, le asignamos un nombre.
Las funciones de un lenguaje nos permite simplificar grandemente los problemas complejos, y gracias a ello, podemos escribir soluciones a problemas muy complicados.
Ya que estamos en el tema funciones, super importante me parece hacerlo bien desde el principio.
.
Les dejo por aqui una guia estandares y buenas practicas en PHP, especificamente ver lo que tiene que ver con funciones:
Me llamo la atencion sobre la documentacion de las funciones, que es un tema del que practicamente no se habla, pero lo encuentro super importante, poco a poco el profesor nos explicara que son los parametros o el return, etc, pero aprovechando que usamos vscode, me parece que vale la pena ir aprendiendo a docuemntarlas.
.
ES MUY UTIL y hasta placentero hacer un llamado a una funcion que esta bien documentada, y el vscode activa una ventana de contexto donde entendemos cuales son sus parametros y que va regresar.
.
.
Aqui un ejemplo:
/**
* Get photo from blog author
*
* Descripicion larga Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut id volutpat
* orci. Etiam pharetra eget turpis non ultrices.
*
* @access private
* @author Firstname Lastname
* @global object $post
* @param int $id Author ID
* @param string $type Type of photo
* @param int $width Photo width in px
* @return object Photo
*/
function verbo_nombre_de_la_funcion ($id, $type, $width, $height) {
// ...
return $Photo;
}
En este caso le pase un Parametro ($cuadros), para no crear una variable. A futuro se vuelve muy util y mas dinamico al ocupar parametros…
<?php
function equiposDeFutbol($cuadros) {
switch($cuadros){
case $cuadros == "boca":
echo "Aguante Boca papaaaa";
break;
case $cuadros == "river":
echo "Aguante River carajoooo";
break;
case $cuadros == "racing":
echo "Aguante racing viejoo";
break;
case $cuadros == "belgrano":
echo "Aguante Belgrano broooooo";
break;
default:
echo "no conosco ese equipo";
}
}
equiposDeFutbol("belgrano");
function get_pokemon(){
$Pokemon = rand( 1 , 5 );
switch($Pokemon){
case 1:
echo "Obtienes un Metapod <br>";
break;
case 2:
echo "Obtienes un Salamance <br>";
break;
case 3:
echo "Obtienes un Squirtle <br>";
break;
default:
echo "No obtienes ningun pokemon";
};
};
get_pokemon();
$sucursal=array(
"Tepoztlan"=>10000.00,
'Cuernvacava'=>250.0,
'Tehuacan'=>235000.00,
'Tecamachalco'=>500,
);
foreach($sucursal as $nombre => $genera)
{
if($genera<=250)
break;
echo 'La sucursal '.$nombre.' genera al mes '.$genera;
echo "\n";
}
Ejemplo de foreach
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?