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<?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<?php
  function func($num) {
    if ($num >= 0) {
      return '+';
    } else {
      return '-';
    }
  }
  
  echo func( 3); // affichera '+'
  echo func(-3); // affichera '-'
?>
Задание 1

Qu'est-ce qui sera affiché à l'écran suite à l'exécution du code suivant :

php<?php
  function func($num) {
    return $num;
    
    $res = $num * $num;
    return $res;
  }
  
  echo func(3);
?>

Expliquez pourquoi.

Задание 2

Qu'est-ce que chaque instruction echo affichera suite à l'exécution du code suivant :

php<?php
  function func($num) {
    if ($num <= 0) {
      return abs($num);
    } else {
      return $num * $num;
    }
  }
  
  echo func(10);
  echo func(-5);
?>

Expliquez pourquoi.

Задание 3

Qu'est-ce que chaque instruction echo affichera suite à l'exécution du code suivant :

php<?php
  function func($num) {
    if ($num <= 0) {
      return abs($num);
    }
    
    return $num * $num;
  }
  
  echo func(10);
  echo func(-5);
?>

Expliquez pourquoi.