No tienes acceso a esta clase

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

Profundicemos en los parámetros

16/25
Recursos

Aportes 32

Preguntas 8

Ordenar por:

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

Para evitar problemas de precedencia , es mejor colocar la suma de a y b entre parentesis.

function suma($a, $b){

    echo "La suma de $a mas $b es: " . ($a + $b) . "\n";

}

suma(1,2);

Parámetros y Argumentos 😎

Parámetros: Almacena los datos enviados
Argumentos: Los datos que se envían en la función

Ojalá RetaxMaster haga más cursos de PHP, estaría genial uno orientado a bases de datos. Está increíble éste curso!

Es muy interesante cuándo descubres cosas como pasar los datos de un array como parámetros.
hace rato vengo estudiando PHP y eso nunca lo había visto.

Si queremos ver todos los numeros diinamicos sumados podemos utilizar implode

function sum_infinity(...$params){
   $result =0;
   foreach ($params as $key => $value) {
     $result+= $value;
   }
   echo "El resultado de ". implode("+",$params) ." es:$result \n";
}

sum_infinity(1,3,5,5,8);

OUTPUT: El resultado de 1+3+5+5+8 es:22

Mi sueño es que Retax haga un curso de Composer, no me dejó satisfecho el curso que hay actualmente, y con lo buen profesor que es Retax, me encantaría tomar ese curso!!

Hice una función que suma todos los números que el usuarios ingrese de otra forma:

function Sum_numbers(...$numbers) {
  return array_sum($numbers);
}

print_r(Sum_numbers(1, 2, 5, 75, 24, 74, 212, 64));

Output: 457

Esta clase simplemente es un WOW 😱
Es bastante agradable cuando el conocimiento que has adquirido en otro lenguaje de programación lo puedes usar en el nuevo que estas aprendiendo.
Al final son herramientas que nos permiten resolver problemas pero el echo de tener bases te permite entender un nuevo lenguaje más facilmente.
Me encanta ver como cosas de Js pueden usarse de la misma forma en PHP.
Comparto todo mi apunte que realice sobre los parámetros de funciones.
.

super interesante, pense que esto de los … solo se podia en JavaScript, me sorprendo cada dia mas que sigo con este cursaso!

la ruta de php esta buena y este en particular es el pan de cada dia muy bueno

En mi caso preferi poner ($a = 0, $b = 0) como parametros, para que el usuario sepa que no ingreso ningun valor

Me encanto esta clase!! 😃

Genial esta clase! No tenía idea del unpacking array, y sobre todo de poder usarlo en parámetros de funciones!

Muy interesante el token … para proporcionar parámetros. En PHP 5.6 y posteriores, las listas de parámetros pueden incluir el token … para denotar que la función acepta un número variable de parámetros.

No. no sabía que esto era posible

```txt "; }; suma(3,9); suma(5,12); suma(13,19); suma(33,91); ```
:O es la primera vez que veo el array unpacking
De verdad que estoy impresionado, tanto hate que le tiran a php y veo que en php se han implementado cosas mucho antes que en javascript

No seria lo mismos enviar el array por parámetro a la función.

function nombre($array){
var_dump($array);
}

Y esa brujeria de array un packet?

Me asusta pensar el lvl que tiene el profe, y siendo que empezo como estudiante tambien,
Wow, a muchos esto les entra con mucho gusto jejeje xD

Por lo que he podido ver para versiones superiores a PHP 7.4 se usa es: array_merge()
<?php

$arreglo1 = [1,2,3];
$arreglo2 = [4,5,6];

$resultado = array_merge($arreglo1,$arreglo2);

var_dump($resultado);

La función que acepta un número variable de argumentos es útil en situaciones en las que no sabemos cuántos argumentos se pasarán a la función, o si se espera que el número de argumentos cambie con el tiempo.
.
Por ejemplo, en un sistema de compras en línea, donde el número de artículos en un carrito puede variar, la función que calcula el total de la compra puede aceptar un número variable de argumentos para calcular el total de la compra.

function sumaInfinita(...$params) {

  $suma = 0;

  var_dump($params);
  echo "<br>";
  foreach ($params as $numero) {
    $suma = $suma + $numero;
  }

  echo "La sumatoria de los parámetros es: ". $suma;
}

sumaInfinita(1,6,9);

El resultado de esta clase 💚

<?php
// *Declaromos la funcion con el desempaquetador
function suma_infinity (...$desempacar) {  

  $suma = 0;

  foreach ($desempacar as $arreglo) {
    $suma += $arreglo;
  }

  echo "La suma total es: $suma\n";
}

// *Usamos la funcion con los valores a desempaquetar
suma_infinity(1, 2);
suma_infinity(10, 20, 30);
suma_infinity(100, 200, 300, 400, 500);

?>

lo hice con un While 😄

¡ARRAY UNPACKING PARA FUNCIONES! Está aquí Diego!

¡ARRAY UNPACKING! Si lo estás buscando aquí está Diego!

Normalmente los parámetros se usan solo para comunicar valores de inicio a una función, así que las variables que pudieran ser colocadas en la llamada copian sus contenidos en las variables de la función, llamadas parámetros formales.

Si durante el cuerpo de la función el contenido de una de esas variables es cambiado, la variable original que colocamos en la llamada permanecerá inalterada. Es decir, que bajo condiciones normales, la función habrá de trabajar con una copia de los valores que les pasemos. A esto se le llama pase de parámetros por valor.

Sin embargo, ocasionalmente puede ser que necesitemos llamar a una función y nos convenga obtener de vuelta no solo el valor retornado, sino que también queramos que alguno de los parámetros vuelva alterado de una u otra manera. Esto se logra a través del llamado pase de parámetros por referencia.

 

Hagamos un pequeño cambio sobre nuestra función en_rango para ilustrar el concepto. Supongamos que deseamos que la función no solo retorne un valor lógico como lo hace hasta ahora, sino que deseamos obtener un mensaje que indique la relación del primer parámetro respecto al rango, es decir, si es menor, mayor o está en medio.

Los parametros opcionales deben ir al final

function suma($a = 1; $b){
	return $a + $b;
}
echo suma(5); // Error: faltan argumentos.

Vengo de JS y el spread operator siempre me causó confusión por el nombre “spread”, pero al llamarlo “unpacked” lo entiendo mucho mejor. Excelente clase.

esa forma de usar los array como parámetros me será muy muy útil