par
Cyrano » 28 juil. 2005, 07:46
Dans la pratique, ça dépend de chacun : personnellement, je m'arrange pour n'avoir qu'un seul "return dans mes fonctions. Ce qui m'importe, c'est que selonle résultat des instructions exécutées, la valeur retournée peut varier. Donc ce que je vais habituellement faire, c'est initialiser une valeur par défaut à une variable. Au fil des alternatives ou des boucles ou de tout évènement particulier, je vais modifier cette valeur et à la fin de ma fonction, je vais retourner va variable. Shématiquement:
<?php
function mafonction()
{
if(condition = "a")
{
executer("a");
$resultat = "quelque chose";
}
elseif(condition = "b")
{
autre_fonction("b");
$resultat = "autrechose";
}
else
{
$resultat = "rien";
}
return $resultat;
}
?>
De cette manière, je ne mets qu'un seul "return". Mais il aurait été tout aussi valable de faire autrement, ça exécuterait strictement la même chose en faisant:
<?php
function mafonction()
{
if(condition = "a")
{
executer("a");
return "quelque chose";
}
elseif(condition = "b")
{
autre_fonction("b");
return "autrechose";
}
else
{
return "rien";
}
}
?>
Est-ce que ça correspond à ta question ?
Dans la pratique, ça dépend de chacun : personnellement, je m'arrange pour n'avoir qu'un seul "return dans mes fonctions. Ce qui m'importe, c'est que selonle résultat des instructions exécutées, la valeur retournée peut varier. Donc ce que je vais habituellement faire, c'est initialiser une valeur par défaut à une variable. Au fil des alternatives ou des boucles ou de tout évènement particulier, je vais modifier cette valeur et à la fin de ma fonction, je vais retourner va variable. Shématiquement:
[php]<?php
function mafonction()
{
if(condition = "a")
{
executer("a");
$resultat = "quelque chose";
}
elseif(condition = "b")
{
autre_fonction("b");
$resultat = "autrechose";
}
else
{
$resultat = "rien";
}
return $resultat;
}
?>[/php]
De cette manière, je ne mets qu'un seul "return". Mais il aurait été tout aussi valable de faire autrement, ça exécuterait strictement la même chose en faisant:
[php]<?php
function mafonction()
{
if(condition = "a")
{
executer("a");
return "quelque chose";
}
elseif(condition = "b")
{
autre_fonction("b");
return "autrechose";
}
else
{
return "rien";
}
}
?>[/php]
Est-ce que ça correspond à ta question ?