Toнкое место return в PHP

После того, как выполнится инструкция return - функция закончит свою работу. To есть: после выполнения return больше никакой код не выполнится.

Смотрите пример:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // этот код никогда не выполнится
  }
  
  $res = func(3);
?>

Это не значит, что в функции должен быть один return. Но выполнится только один из них.

В следующем примере в зависимости от значения параметра выполнится либо первый, либо второй return:

php<?php
  function func($num) {
    if ($num >= 0) {
      return '+';
    } else {
      return '-';
    }
  }
  
  echo func( 3); // выведет '+'
  echo func(-3); // выведет '-'
?>
Задание 1

Что выведется на экран в результате выполнения следующего кода:

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

Объясните почему.

Задание 2

Что выведет каждый из echo в результате выполнения следующего кода:

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

Объясните почему.

Задание 3

Что выведет каждый из echo в результате выполнения следующего кода:

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

Объясните почему.