A return utasítás finomságai PHP-ben

Miután a return utasítás végrehajtódik, a függvény befejezi a működését. Azaz: a return utasítás végrehajtása után minden további kód nem hajtódik végre.

Nézd meg a példát:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // ez a kód soha nem hajtódik végre
  }
  
  $res = func(3);
?>

Ez nem azt jelenti, hogy egy függvényben csak egy return lehet. De csak egy közülük hajtódik végre.

A következő példában a paraméter értékétől függően vagy az első, vagy a második return hajtódik végre:

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

Mi jelenik meg a képernyőn a következő kód végrehajtása eredményeképpen:

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

Magyarázd meg, miért.

Задание 2

Mit ír ki mindegyik echo a következő kód végrehajtása eredményeképpen:

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

Magyarázd meg, miért.

Задание 3

Mit ír ki mindegyik echo a következő kód végrehajtása eredményeképpen:

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

Magyarázd meg, miért.