Jemný bod return v PHP

Po vykonaní inštrukcie return - funkcia ukončí svoju činnosť. To znamená: po vykonaní return sa už žiadny ďalší kód nevykoná.

Pozrite si príklad:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // tento kód sa nikdy nevykoná
  }
  
  $res = func(3);
?>

To neznamená, že funkcia musí mať jedno return. Ale vykoná sa iba jeden z nich.

V nasledujúcom príklade v závislosti od hodnoty parametra sa vykoná buď prvé, alebo druhé return:

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

Čo sa vypíše na obrazovku ako výsledok vykonania nasledujúceho kódu:

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

Vysvetlite prečo.

Задание 2

Čo vypíše každý z echo ako výsledok vykonania nasledujúceho kódu:

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

Vysvetlite prečo.

Задание 3

Čo vypíše každý z echo ako výsledok vykonania nasledujúceho kódu:

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

Vysvetlite prečo.