Le point délicat de return en PHP
Après l'exécution de l'instruction return
- la fonction termine son exécution. Autrement dit :
après l'exécution de return, aucun code supplémentaire
ne sera exécuté.
Regardez l'exemple :
<?php
function func($num) {
return $num * $num;
echo '!'; // ce code ne s'exécutera jamais
}
$res = func(3);
?>
Cela ne signifie pas qu'une fonction doit avoir
une seule instruction return. Mais un seul
d'entre eux sera exécuté.
Dans l'exemple suivant, en fonction de la valeur
du paramètre, soit le premier, soit le second
return sera exécuté :
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // affichera '+'
echo func(-3); // affichera '-'
?>
Qu'est-ce qui sera affiché à l'écran suite à l'exécution du code suivant :
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Expliquez pourquoi.
Qu'est-ce que chaque instruction echo affichera suite
à l'exécution du code suivant :
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Expliquez pourquoi.
Qu'est-ce que chaque instruction echo affichera suite
à l'exécution du code suivant :
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Expliquez pourquoi.