typestar

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

  1. height: 2 apunta a un parámetro por nombre y se salta el resto.
  2. Los argumentos con nombre pueden llegar en el orden que quien llama prefiera.
  3. ...$dims reparte un arreglo entre los parámetros posicionales.
  4. En una firma, int ...$nums recolecta en cambio cualquier número de argumentos.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 3 en Funciones; paso 12 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →