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 23

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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

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