Fin finessa return u PHP-u

Nakon što se izvrši naredba return - funkcija će završiti svoj rad. To znači: nakon izvršenja return više nijedan kôd se neće izvršiti.

Pogledajte primer:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // ovaj kôd se nikada neće izvršiti
  }
  
  $res = func(3);
?>

Ovo ne znači da u funkciji mora biti jedan return. Ali izvršiće se samo jedan od njih.

U sledećem primeru, u zavisnosti od vrednosti parametra, izvršiće se ili prvi ili drugi return:

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

Šta će biti ispisano na ekranu kao rezultat izvršenja sledećeg koda:

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

Objasnite zašto.

Задание 2

Šta će svaki od echo ispisati kao rezultat izvršenja sledećeg koda:

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

Objasnite zašto.

Задание 3

Šta će svaki od echo ispisati kao rezultat izvršenja sledećeg koda:

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

Objasnite zašto.