Punctul sensibil al lui return în PHP

După ce se execută instrucțiunea return - funcția își va încheia activitatea. Adică: după executarea lui return niciun cod suplimentar nu se va mai executa.

Urmăriți exemplul:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // acest cod nu se va executa niciodată
  }
  
  $res = func(3);
?>

Aceasta nu înseamnă că o funcție trebuie să aibă un singur return. Dar se va executa doar unul dintre ei.

În exemplul următor, în funcție de valoarea parametrului, se va executa fie primul, fie al doilea return:

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

Ce se va afișa pe ecran ca rezultat al executării următorului cod:

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

Explicați de ce.

Задание 2

Ce va afișa fiecare echo ca rezultat al executării următorului cod:

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

Explicați de ce.

Задание 3

Ce va afișa fiecare echo ca rezultat al executării următorului cod:

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

Explicați de ce.