Đ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
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
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // sẽ hiển thị '+'
echo func(-3); // sẽ hiển thị '-'
?>
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
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Giải thích tại sao.
Mỗi lệnh echo sẽ hiển thị gì sau khi
thực thi đoạn mã sau:
<?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.
Mỗi lệnh echo sẽ hiển thị gì sau khi
thực thi đoạn mã sau:
<?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.