Delikatne miejsce return w PHP

Po wykonaniu instrukcji return - funkcja zakończy swoje działanie. To znaczy: po wykonaniu return żaden dodatkowy kod nie zostanie wykonany.

Spójrz na przykład:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // ten kod nigdy się nie wykona
  }
  
  $res = func(3);
?>

To nie znaczy, że funkcja musi mieć jeden return. Ale wykona się tylko jeden z nich.

W następnym przykładzie, w zależności od wartości parametru, wykona się albo pierwszy, albo drugi return:

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

Co zostanie wypisane na ekran w wyniku wykonania następującego kodu:

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

Wyjaśnij dlaczego.

Задание 2

Co wypisze każdy z echo w wyniku wykonania następującego kodu:

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

Wyjaśnij dlaczego.

Задание 3

Co wypisze każdy z echo w wyniku wykonania następującego kodu:

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

Wyjaśnij dlaczego.