PHPにおけるreturnの注意点

return命令が実行された後、 関数はその実行を終了します。つまり: returnが実行された後は、それ以降のコードは 一切実行されません。

以下の例を見てください:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // このコードは決して実行されない
  }
  
  $res = func(3);
?>

これは、関数内にreturnが 1つしかないという意味ではありません。 ただし、そのうちの1つだけが実行されます。

次の例では、パラメータの値に応じて、 最初のreturnか2番目のreturnの いずれかが実行されます:

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

以下のコードを実行した結果、 画面には何が出力されるでしょうか:

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

その理由を説明してください。

Задание 2

以下のコードを実行した結果、 各echoは何を出力するでしょうか:

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

その理由を説明してください。

Задание 3

以下のコードを実行した結果、 各echoは何を出力するでしょうか:

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

その理由を説明してください。