Return'i peensused PHP-s

Pärast seda, kui käsk return täidetakse, - funktsioon lõpetab oma töö. See tähendab: pärast return'i täitmist enam ükski kood ei täitu.

Vaadake näidet:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // see kood ei täitu kunagi
  }
  
  $res = func(3);
?>

See ei tähenda, et funktsioonis peab olema üks return. Kuid täidetakse ainult üks neist.

Järgmises näites sõltuvalt parameetri väärtusest täidetakse kas esimene või teine return:

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

Mida kuvatakse ekraanile järgmise koodi täitmise tulemusena:

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

Selgitage miks.

Задание 2

Mida iga echo väljastab järgmise koodi täitmise tulemusena:

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

Selgitage miks.

Задание 3

Mida iga echo väljastab järgmise koodi täitmise tulemusena:

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

Selgitage miks.