Die Tücke von return in PHP

Nachdem die Anweisung return ausgeführt wurde, beendet die Funktion ihre Arbeit. Das heißt: nach der Ausführung von return wird kein weiterer Code mehr ausgeführt.

Sehen Sie sich das Beispiel an:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // dieser Code wird niemals ausgeführt
  }
  
  $res = func(3);
?>

Das bedeutet nicht, dass es in einer Funktion nur ein return geben darf. Es wird aber nur eines von ihnen ausgeführt.

Im nächsten Beispiel wird, abhängig vom Wert des Parameters, entweder das erste oder das zweite return ausgeführt:

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

Was wird auf dem Bildschirm als Ergebnis der Ausführung des folgenden Codes ausgegeben:

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

Erklären Sie, warum.

Задание 2

Was wird jeder der echo-Aufrufe als Ergebnis der Ausführung des folgenden Codes ausgeben:

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

Erklären Sie, warum.

Задание 3

Was wird jeder der echo-Aufrufe als Ergebnis der Ausführung des folgenden Codes ausgeben:

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

Erklären Sie, warum.