Menu
CoddyTech

Hàm biến

Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 6 trên 68.

Hàm thông qua biến (function) là một cách khác để gọi hàm linh hoạt trong PHP. Thay vì dùng call_user_func(), bạn có thể gọi trực tiếp một hàm bằng cách xem biến chứa tên hàm như chính hàm đó.

Cú pháp rất đơn giản: nếu bạn có một biến chứa tên hàm, bạn có thể gọi hàm đó bằng cách thêm dấu ngoặc đơn vào biến:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // Đầu ra: Hello World!
?>

Điều này cũng áp dụng với các hàm nhận tham số (parameter). Bạn chỉ cần truyền các đối số (argument) vào trong dấu ngoặc đơn:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

$func = "greet";
$func("Alice");  // Đầu ra: Hello, Alice!
?>

Các hàm biến cung cấp một cách rõ ràng và trực quan để chạy code một cách linh hoạt. Tính năng này đặc biệt hữu ích khi bạn cần gọi các hàm khác nhau dựa trên điều kiện hoặc đầu vào của người dùng, giúp code linh hoạt và dễ thích ứng hơn.

challenge icon

Thử thách

Dễ

Tạo ba hàm: calculateArea nhận hai số (chiều dài và chiều rộng) rồi trả về tích của chúng, calculatePerimeter nhận hai số rồi trả về tổng của chúng nhân đôi, và calculateDiagonal nhận hai số rồi trả về căn bậc hai của tổng bình phương của chúng.

Bạn sẽ nhận ba đầu vào: tên phép tính ("area", "perimeter" hoặc "diagonal"), chiều dài và chiều rộng. Đọc cả ba đầu vào, lưu tên hàm vào một biến, gọi hàm đó bằng cú pháp gọi hàm qua biến với hai số đo, rồi in kết quả.

Định dạng đầu vào: Ba dòng: dòng đầu tiên chứa tên phép tính, dòng thứ hai chứa chiều dài (một số có thể có phần thập phân), dòng thứ ba chứa chiều rộng (một số có thể có phần thập phân)

Đầu ra dự kiến: Kết quả của phép tính

Tự làm thử

<?php
// Đọc các đầu vào
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: Tạo ba hàm (function) tại đây (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: Gọi hàm phù hợp bằng cú pháp hàm biến và lưu kết quả

// In kết quả ra
quiz iconTự kiểm tra

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 Logic và luồng chương trình

Tự luyện tập: Trình biên dịch PHP online