Giá trị trả về
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 63 trên 71.
Các hàm (function) mình đã tạo cho đến nay dùng echo để hiển thị đầu ra trực tiếp. Nhưng thường thì bạn muốn một hàm tính toán gì đó rồi trả kết quả về cho bạn, để bạn có thể dùng kết quả đó ở nơi khác trong code. Đây là lúc câu lệnh return phát huy tác dụng.
Câu lệnh return gửi một giá trị trở lại nơi đã gọi hàm:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result;
?>Lệnh này in ra 8. Thay vì in tổng bên trong hàm, ta trả về tổng đó. Đoạn code gọi hàm nhận giá trị này và lưu vào $result.
Giá trị trả về giúp các hàm (function) linh hoạt hơn nhiều. Bạn có thể dùng giá trị trả về trong các phép tính, truyền nó cho các hàm khác hoặc lưu lại để dùng sau:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3);
?>Lệnh này in ra 16 (10 + 6). Mỗi lần gọi double(), hàm trả về một giá trị được dùng trong phép cộng.
Một điều quan trọng cần biết: khi PHP gặp câu lệnh return, hàm sẽ dừng ngay lập tức. Mọi code sau return sẽ không chạy.
Thử thách
DễĐọc hai dòng đầu vào:
- Một số biểu thị đáy của hình chữ nhật (ví dụ:
5) - Một số biểu thị chiều cao của hình chữ nhật (ví dụ:
3)
Tạo một hàm (function) có tên calculateArea nhận hai tham số: $base và $height. Hàm này cần trả về diện tích hình chữ nhật (đáy × chiều cao).
Gọi hàm với các giá trị đầu vào, lưu giá trị trả về vào một biến rồi in ra kết quả.
Ví dụ 1:
Nếu đầu vào là 5 và 3, đầu ra sẽ là:
15Ví dụ 2:
Nếu đầu vào là 10 và 7, đầu ra sẽ là:
70Ví dụ 3:
Nếu đầu vào là 12 và 4, đầu ra sẽ là:
48Tự làm thử
<?php
// Đọc đầu vào
$base = intval(fgets(STDIN));
$height = intval(fgets(STDIN));
// TODO: Tạo hàm (function) tên calculateArea nhận các tham số $base và $height
// Hàm cần trả về diện tích (base × height)
// TODO: Gọi hàm với các giá trị đầu vào và lưu kết quả vào một biến
// In kết quả ra
echo $result;
?>Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Toán tử so sánh và logic
Toán tử so sánhBằng nhau và đồng nhấtToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giản2Biến và kiểu dữ liệu
SốChuỗi và dấu ngoặc képGiá trị BooleanQuy ước đặt tênÔn tập: khởi tạo biếnBiến rỗngNối chuỗiNhận đầu vào từ người dùngChuyển đổi sang kiểu dữ liệu khác5Logic điều kiện
Câu lệnh ifIf và elseToán tử ba ngôiToán tử kết hợp nullCâu lệnh switchÔn tập: đưa ra quyết định3Các toán tử cơ bản
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaPhép gán kết hợpTăng/giảmThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giảnToán tử chuỗiTự luyện tập: Trình biên dịch PHP online