Điểm tinh tế của return trong PHP

Sau khi lệnh return được thực thi - hàm sẽ kết thúc công việc của nó. Tức là: sau khi return được thực thi, sẽ không có bất kỳ mã nào khác được thực thi nữa.

Xem ví dụ:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // đoạn mã này sẽ không bao giờ được thực thi
  }
  
  $res = func(3);
?>

Điều này không có nghĩa là trong một hàm phải có một return. Nhưng chỉ một trong số chúng sẽ được thực thi.

Trong ví dụ tiếp theo, tùy thuộc vào giá trị của tham số mà return đầu tiên hoặc thứ hai sẽ được thực thi:

php<?php
  function func($num) {
    if ($num >= 0) {
      return '+';
    } else {
      return '-';
    }
  }
  
  echo func( 3); // sẽ hiển thị '+'
  echo func(-3); // sẽ hiển thị '-'
?>
Задание 1

Kết quả hiển thị trên màn hình sau khi thực thi đoạn mã sau sẽ là gì:

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

Giải thích tại sao.

Задание 2

Mỗi lệnh echo sẽ hiển thị gì sau khi thực thi đoạn mã sau:

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

Giải thích tại sao.

Задание 3

Mỗi lệnh echo sẽ hiển thị gì sau khi thực thi đoạn mã sau:

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

Giải thích tại sao.