Kelemahan Halus return dalam PHP

Selepas arahan return dilaksanakan - fungsi akan menamatkan operasinya. Iaitu: selepas return dilaksanakan, tiada kod lain akan dilaksanakan.

Lihat contoh:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // kod ini tidak akan pernah dilaksanakan
  }
  
  $res = func(3);
?>

Ini tidak bermakna fungsi mesti mempunyai satu return sahaja. Tetapi hanya satu sahaja yang akan dilaksanakan.

Dalam contoh berikut, bergantung pada nilai parameter, sama ada return pertama atau kedua akan dilaksanakan:

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

Apakah yang akan dipaparkan pada skrin hasil daripada pelaksanaan kod berikut:

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

Terangkan mengapa.

Задание 2

Apakah yang akan dipaparkan oleh setiap echo hasil daripada pelaksanaan kod berikut:

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

Terangkan mengapa.

Задание 3

Apakah yang akan dipaparkan oleh setiap echo hasil daripada pelaksanaan kod berikut:

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

Terangkan mengapa.