Ritornare più valori in una funzione in PHP

Mattepuffo's logo
Ritornare più valori in una funzione in PHP

Ritornare più valori in una funzione in PHP

Nella programmazione in generale, una funzione ritorna o void (quindi non ritorna nulla) o un valore.

E se invece avessimo bisogno di ritornare più valori?

In questo articolo vediamo un paio di esempi usando PHP; ma in verità possiamo riportare questi esempi anche in altri linguaggi.

Un primo modo è usare gli array:

function test() {
    $nome = 'matteo';
    $email = 'm@m.it';
    return array('nome' => $nome, 'email' => $email);
}

list('nome' => $n, 'email' => $e) = test();
echo $n . '-' . $e;

Con list destrutturiamo l'array; cosa possibile in ogni linguaggio.

Una seconda possibilità è usare un oggetto contenitore:

class MyObj {
    public $nome;
    public $email;
}

function test() {
    $myObj = new MyObj();
    $myObj->nome = 'matteo';
    $myObj->email = 'm@m.it';
    return $myObj;
}

$myObj = test();
echo $myObj->nome . '-' . $myObj->email;

Una terza possibilità, che però non vediamo, è usare JSON.

Che in pratica possiamo considerare un ibrido; solo che prima va creato il JSON e poi deserializzato, il che potrebbe essere più lenta come operazione.

Enjooy!


Condividi

Commentami!