No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende a reutilizar tu código: funciones

14/25
Recursos

Aportes 24

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Al parecer soy el primero en tomar tu curso, tus aportes y ahora tus cursos realmente son muy didácticos y amenos

Una funcion es una maquina!

  • Sip asi es 😃 no lo digo yo lo dice una de las mejores profesoras de matamaticas…
  • ¿Por que? bueno sigue el patron (Input - Proceso - Salida) le pasamos un numero o lo que sea hace un tratamiento o proceso y nos devuelve un resultado

Os dejo la explicacion de la profe: https://www.youtube.com/watch?v=eViT5wKoN-Q

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";

Explicación pasito a pasito del reto anterior

Rellenamos la cantidad de formas de llegar en cada tienda

Analizamos las cantidades y buscamos un patró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

Generamos la serie de fibonacci

1° Fibonacci es la suma de dos números anteriores

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

2° Fibonacci se actualiza

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)

Codeamos la serie de fibonacci

/*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()

Terminemos el reto

//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";

Resultados

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.

Definición de funciones

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.

Llamado de funciones

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.

Valor de retorno de funciones

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.

Ejemplo de función en PHP

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

Funciones con parámetros por defecto

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.

Definición de funciones

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.

Llamado de funciones

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.

Valor de retorno de funciones

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.

Ejemplo de función en PHP

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

Funciones con parámetros por defecto

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.

Ejemplo de función con parámetros por defecto en PHP

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

Funciones con número variable de argumentos

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.

Ejemplo de función con número variable de argumentos en PHP

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

```js ```por aqui dejo mi aporte, intentando enviar parametros para la funcion,

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.
.

excelente :)

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:

PHP Style Guide.
.

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