Spread y argumentos con nombre en PHP
Llamadas modernas: elegir argumentos por nombre y desempacarlos desde arreglos.
<?php
function volume(int $length, int $width, int $height = 1): int {
return $length * $width * $height;
}
// named arguments skip the defaults you do not care about
echo volume(4, 3, height: 2), "\n";
echo volume(width: 5, length: 2), "\n";
// ...spread unpacks an array into positional arguments
$dims = [3, 4, 5];
echo volume(...$dims), "\n";
function sum(int ...$nums): int {
return array_sum($nums);
}
echo sum(1, 2, 3, 4), "\n";
Cómo funciona
height: 2apunta a un parámetro por nombre y se salta el resto.- Los argumentos con nombre pueden llegar en el orden que quien llama prefiera.
...$dimsreparte un arreglo entre los parámetros posicionales.- En una firma,
int ...$numsrecolecta en cambio cualquier número de argumentos.
Palabras clave y builtins usados aquí
array_sumechofunctionreturn
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 438
- Tokens
- 108
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 86 segundos.
Paso 3 de 3 en Funciones; paso 12 de 27 en Fundamentos del lenguaje.