Punto sottile di return in PHP

Dopo che l'istruzione return viene eseguita - la funzione termina la sua esecuzione. Ciò significa che: dopo l'esecuzione di return, nessun altro codice verrà eseguito.

Guarda l'esempio:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // questo codice non verrà mai eseguito
  }
  
  $res = func(3);
?>

Questo non significa che una funzione debba avere un solo return. Ma ne verrà eseguito solo uno di essi.

Nell'esempio seguente, a seconda del valore del parametro, verrà eseguito o il primo o il secondo return:

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

Cosa verrà visualizzato sullo schermo come risultato dell'esecuzione del seguente codice:

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

Spiega il perché.

Задание 2

Cosa visualizzerà ogni echo come risultato dell'esecuzione del seguente codice:

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

Spiega il perché.

Задание 3

Cosa visualizzerà ogni echo come risultato dell'esecuzione del seguente codice:

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

Spiega il perché.