Um Detalhe Sutil do Return em PHP

Após a instrução return ser executada, a função termina sua execução. Ou seja: após o return ser executado, nenhum código adicional será executado.

Veja o exemplo:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // este código nunca será executado
  }
  
  $res = func(3);
?>

Isso não significa que uma função deve ter apenas um return. Mas apenas um deles será executado.

No próximo exemplo, dependendo do valor do parâmetro, ou o primeiro ou o segundo return será executado:

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

O que será exibido na tela como resultado da execução do seguinte código:

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

Explique o porquê.

Задание 2

O que cada echo exibirá como resultado da execução do seguinte código:

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

Explique o porquê.

Задание 3

O que cada echo exibirá como resultado da execução do seguinte código:

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

Explique o porquê.