Appel séquentiel de fonctions en PHP
Il est possible de passer le résultat d'une fonction
en tant que paramètre à une autre.
Dans l'exemple suivant, nous allons d'abord trouver
le carré du nombre 2,
puis le carré du résultat :
<?php
function func($num) {
return $num * $num;
}
$res = func(func(2));
echo $res; // affichera 16
?>
Les fonctions, bien sûr, ne sont pas obligées d'être identiques.
Supposons, par exemple, que nous ayons une fonction renvoyant le carré d'un nombre, et une fonction renvoyant le cube d'un nombre :
<?php
function square($num) {
return $num * $num;
}
function cube($num) {
return $num * $num * $num;
}
?>
Utilisons ces fonctions pour élever le nombre
2 au carré, puis élevons le résultat de cette
opération au cube :
<?php
$res = cube(square(2));
echo $res;
?>
Supposons maintenant que nous ayons une fonction renvoyant le carré d'un nombre, et une fonction trouvant la somme de deux nombres :
<?php
function square($num) {
return $num * $num;
}
function sum($num1, $num2) {
return $num1 + $num2;
}
?>
Trouvons à l'aide de ces fonctions la somme du carré
du nombre 2 et la somme du carré du nombre 3 :
<?php
$res = sum(square(2), square(3));
echo $res;
?>
Supposons que vous ayez une fonction renvoyant la racine cubique d'un nombre, et une fonction arrondissant un nombre décimal à trois chiffres après la virgule :
<?php
function root($num) {
return pow($num, 1/3);
}
function norm($num) {
return round($num, 3);
}
?>
À l'aide de ces fonctions, trouvez la racine cubique
du nombre 2 et arrondissez-la
à trois chiffres après la virgule.