A volte può capitare che quando definiamo una funzione, non conosciamo il numero esatto di parametri che vogliamo passare al suo interno, per ovviare a questo problema possiamo usare i tre punti (…) seguiti dal nome del parametro. Questa feature è chiamata “variable-length arguments lists” o “parametri variabili”.
In PHP, si può realizzare usando il segnaposto ...
davanti al nome del parametro. In questo modo, tutti gli argomenti passati alla funzione vengono raccolti in un array, che viene passato al parametro.
Sintassi degli argomenti
function nome_funzione (...$valori) {
//codice
};
nome_funzione(arg1,arg2,arg3,arg4,arg5,ecc);
Esempio di parametri variable-length arguments lists
<?php
// Variable-length arguments list
/* Quando non sappiamo quanti parametri passeremo all'interno di una funzione
Possiamo utilizzare ... seguito dal nome del parametro
Questo ci peremette di creare un Array
*/
function somma(...$valori){
$totale = 0; // inizializziamo la variabile con il valore 0
foreach($valori as $valore){ // eseguiamo un ciclo foreach sull'array $valori
$totale += $valore; // sommiamo ogni elemento alla variabile totale
}
return $totale; //Restituiamo il risultato finale
};
echo somma(15,15,20,50,100,300);
?>
//output : 500