Return smalkā vieta PHP

Pēc tam, kad izpildīsies instrukcija return - funkcija pabeigs savu darbu. Tas nozīmē: pēc return izpildes vairs neviens kods netiks izpildīts.

Skatiet piemēru:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // šis kods nekad netiks izpildīts
  }
  
  $res = func(3);
?>

Tas nenozīmē, ka funkcijā jābūt vienam return. Bet izpildīsies tikai vien no tiem.

Nākamajā piemērā atkarībā no parametra vērtības izpildīsies vai nu pirmais, vai otrais return:

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

Kas tiks izvadīts uz ekrāna šī koda izpildes rezultātā:

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

Paskaidrojiet kāpēc.

Задание 2

Ko izvadīs katrs no echo šī koda izpildes rezultātā:

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

Paskaidrojiet kāpēc.

Задание 3

Ko izvadīs katrs no echo šī koda izpildes rezultātā:

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

Paskaidrojiet kāpēc.