existe la funcionalidad de poder colocar arrays como argumentos
!Untitled
Trailing commas:
Los trailing commas son comas que van el apartado de los parametros de tu funcion, lo que destaca es que estos parametros pueden terminar con coma sin marcar error. Esto se encuentra en muchos lenguajes
!Untitled
Recibir clases como parametros (no instancias sino la inicializacion de una(solo php > 8):
!Untitled
puedes mandar clases como argumentos a tu funcion, esto puede ser muy util para funciones con un objetivo muy general.
Orden de los parametros:
los parametros obligatorios deben ir primero y despues los parametros opcionales
!Untitled
La asignacion de clases en parametros solo funciona en versiones 8.1.0 en adelante.
Me ahorraste mucho tiempo!!!
Me sale este error:
PHP Fatal error: Constant expression contains invalid operations
revisa la version de php, es para las ultimas versiones de php 8 en adelante
Si, es por la versión de PHP
<?php
// Parámetros por defecto con array.functionsumar_edades($edades =array(13,17,35)){returnarray_sum($edades);}echo sumar_edades(array(5,10,15)).PHP_EOL;/**
* Trailing commas implementado en PHP 8
*
* NOTA: En versiones anteriores a PHP 8
* esto generará un error de sintaxis.
*/functionmultiplicar($n1 =1, $n2 =2, $n3 =3,){return $n1 * $n2 * $n3;}echo multiplicar().PHP_EOL;classUnaClaseRandom{}classOtraClaseRandom{}// Parámetros por defecto con clases.functionreceive_a_class($class=newUnaClaseRandom){ echo $class::class;}echo receive_a_class(newOtraClaseRandom).PHP_EOL;// Orden de los parámetrosfunctionsuma($n1, $n2 =8){return $n1 + $n2;}echo suma(8).PHP_EOL;
buenos tips! gracias
Ejemplo de argumento por valor en PHP:
function suma($a, $b) {
return $a + $b;
}
echo suma(5, 10); // Imprime 15
Ejemplo de argumento por referencia en PHP:
function duplicar(&$numero) {
$numero *= 2;
}
$numero = 5;
duplicar($numero);
echo $numero; // Imprime 10
Ejemplo de argumento por defecto en PHP:
function saludar($nombre = "Juan") {
echo "Hola, $nombre";
}
saludar(); // Imprime "Hola, Juan"
Ejemplo de argumento variable en PHP:
function suma(...$numeros) {
return array_sum($numeros);
}
echo suma(1, 2, 3, 4, 5); // Imprime 15
Ejemplo de argumento por valor en PHP:
function suma($a, $b) {
return $a + $b;
}
echo suma(5, 10); // Imprime 15
Ejemplo de argumento por referencia en PHP:
function duplicar(&$numero) {
$numero *= 2;
}
$numero = 5;
duplicar($numero);
echo $numero; // Imprime 10
Ejemplo de argumento por defecto en PHP:
function saludar($nombre = "Juan") {
echo "Hola, $nombre";
}
saludar(); // Imprime "Hola, Juan"
Ejemplo de argumento variable en PHP:
function suma(...$numeros) {
return array_sum($numeros);
}
echo suma(1, 2, 3, 4, 5); // Imprime 15
@RetaxMaster le llama "obligatorios" a los parámetros que deben ser definidos, y "por defecto" a los parámetros que no necesariamente deben ser definidos porque ya tienen un valor por defecto, pero a estos parámetros se les llama "opcionales", llamarlos "por defecto" genera confusión. Por lo demás, excelente clase
Codigo de la clase:
<?php
/* function sumar_edades($edades=array(13,14,35)){
return array_sum($edades);
}
echo sumar_edades();
echo "\n";
*//* function multiplicar( $n1=1,
$n2=2,
$n3=3,){
return $n1*$n2*$n3;
}
echo multiplicar();
echo "\n";
*//* class UnaClaseRandom {}
class OtraClaseRandom {}
// Parámetros por defecto con clases.
function receive_a_class($class = new UnaClaseRandom) {
echo $class::class;
} *///Incorrecto/* function suma($n1=2,$n2){
return $n1 + $n2;
} *///Correcto/* function suma($n2,$n1=2){
return $n1 + $n2;
} */echo suma(8,7);echo "\n";?>