Tham số hàm
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 62 trên 71.
Hàm (function) sayHello trong bài học trước luôn làm cùng một việc. Nhưng nếu bạn muốn chào những người khác nhau thì sao? Tham số (parameter) cho phép bạn truyền dữ liệu vào hàm, giúp hàm linh hoạt và năng động.
Tham số (parameter) là các biến (variable) được liệt kê bên trong dấu ngoặc đơn khi bạn khai báo một hàm (function). Khi gọi hàm, bạn cung cấp các giá trị (gọi là đối số (argument)) và các giá trị đó được gán cho những tham số ấy:
<?php
function greet($name) {
echo "Hello, $name!\n";
}
greet("Alice");
greet("Bob");
?>Kết quả là:
Hello, Alice!
Hello, Bob!Tham số $name hoạt động như một chỗ giữ chỗ. Mỗi lần bạn gọi greet(), đối số bạn truyền vào sẽ thay thế chỗ giữ chỗ đó bên trong hàm.
Hàm (function) có thể nhận nhiều tham số, ngăn cách nhau bằng dấu phẩy:
<?php
function introduce($name, $age) {
echo "$name is $age years old.\n";
}
introduce("Alice", 25);
introduce("Bob", 30);
?>Kết quả hiển thị:
Alice is 25 years old.
Bob is 30 years old.Khi gọi một hàm có nhiều tham số, thứ tự rất quan trọng: đối số thứ nhất ứng với tham số thứ nhất, đối số thứ hai ứng với tham số thứ hai, và cứ thế tiếp tục.
Thử thách
DễĐọc ba dòng đầu vào:
- Tên một người (ví dụ:
Alice) - Tên một thành phố (ví dụ:
Paris) - Một năm (ví dụ:
2020)
Tạo một hàm có tên describePerson nhận ba tham số: $name, $city và $year. Hàm sẽ in ra thông báo theo định dạng sau:
[name] moved to [city] in [year].Gọi hàm với các giá trị đầu vào.
Ví dụ 1:
Nếu đầu vào là Alice, Paris và 2020, đầu ra sẽ là:
Alice moved to Paris in 2020.Ví dụ 2:
Nếu đầu vào là Bob, Tokyo và 2018, đầu ra sẽ là:
Bob moved to Tokyo in 2018.Ví dụ 3:
Nếu đầu vào là Emma, New York và 2015, đầu ra sẽ là:
Emma moved to New York in 2015.Tự làm thử
<?php
// Đọc đầu vào
$name = trim(fgets(STDIN));
$city = trim(fgets(STDIN));
$year = trim(fgets(STDIN));
// TODO: Tạo hàm (function) tên describePerson nhận ba tham số
// ($name, $city, $year) và in ra thông báo theo định dạng yêu cầu
// Gọi hàm với các giá trị đầu vào
?>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