Слабо место кај 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);
?>

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