Ситна замка return у PHP-у

Након што се изврши инструкција return - функција ће завршити свој рад. То значи: након извршавања 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);
?>

Објасните зашто.