Lungo il tuo percorso per imparare PHP, potresti doverti trovare a gestire un caso particolare.
Supponiamo di voler dichiarare una funzione che possa ricevere un numero indefinito di parametri. Questo tipo di funzione è detta funzione dinamica. Come potremmo fare? Potremmo utilizzare lo splat operator.
Grazie a questo operatore, una funzione può ricevere un numero indefinito di parametri e gestirli con un php array.
Lo splat operator si indica ponendo all’interno delle parentesi tonde della funzione “…” ed il nome del parametro formale.
<?php function multiNumbers(...$numbers){ print_r($numbers); } multiNumbers(3,56,78,6,13,7,89,100,95); ?>
In output vedremo
Osserva l’esempio: cosa è successo? Php ha preso ogni parametro ricevuto, nell’ordine da sinistra verso destra, gli ha assegnato un indice partendo da zero e lo ha inserito in un array. Ora ogni dato è un elemento dell’array.
Possiamo, quindi, gestire il parametro $numbers all’interno della funzione con qualsiasi logica manipoli un array.
Una delle tante logiche utilizzabili, potrebbe essere, ad esempio, il mostrare ogni singolo dato:
<?php function splatExample(...$numbers){ foreach($numbers as $number){ echo $number."\n"; } } splatExample(3,56,78,6,13,7,89,100,95); ?>
In output vedremo
Abbiamo gestito $numbers come un qualsiasi php array utilizzando un ciclo foreach.