Les fonctions sont conçues dès
le départ pour prendre en argument un grand nombre de variables
en argument. Cependant, il est parfois nécessaire de renvoyer
plus d'une variable à la fin du traitement de la fonction,
ce qu'a priori return ne permet pas...
C'est pourtant possible, simplement en utilisant comme variable renvoyée
un tableau des variables que l'on souhaite renvoyer, et de récupérer
ce tableau avec list(), ce qui permet
de gérer facilement les valeurs renvoyées. Ce n'est
pas très léger pour PHP, mais c'est la solution la plus
simple et abordable.
Une autre solution consisterait à passer les attributs par
référence, mais cela peut poser un problème de
lecture du code, et donc amener des bugs plus tard...
Le code
<?php
function calculs($a, $b)
{
$addition
= $a+$b;
$soustraction
= $a-$b;
$multiplication
= $a*$b;
$division
= $a/$b;
return
array($addition, $soustraction, $multiplication, $division);
}
list($addition, $soustraction, $multiplication, $division) = calculs(10,
5);
echo $addition . "<br>";
echo $soustraction . "<br>";
echo $multiplication . "<br>";
echo $division . "<br>";
?>
|