Tóm tắt: trong bài hướng dẫn này, bạn sẽ học về các hàm PHP và cách định nghĩa các hàm do người dùng định nghĩa.
Hàm/PHP functions là gì
Một hàm là một khối mã đã đặt tên thực hiện một nhiệm vụ cụ thể.
Cho đến nay, bạn đã học cách sử dụng các hàm tích hợp sẳn trong PHP, như
var_dump() để hiển thị thông tin về một biến.
Trong bài hướng dẫn này, bạn sẽ học cách định nghĩa các hàm của riêng bạn. Các hàm này được gọi là các hàm do người dùng định nghĩa.
Tại sao bạn cần phải đặt hàm/function vị trí đầu tiên
Đôi khi, bạn cần thực hiện cùng một nhiệm vụ nhiều lần trong một script. Ví dụ, giả sử bạn muốn hiển thị một thông báo chào đón người dùng như sau:
<?php echo 'Chào mừng!';
Nếu bạn muốn hiển thị cùng một thông báo ở những nơi khác, bạn phải sao chép câu lệnh trên và dán nó ở nhiều nơi.
Nhưng khi bạn muốn thay đổi thông báo từ Chào mừng!
thành Chào mừng trở lại
! bạn cần thay đổi ở nhiều nơi. Điều này sẽ làm cho việc duy trì mã rất khó khăn.
Đây là nơi mà các hàm xuất hiện. Một hàm cho phép bạn gán một tên cho một khối mã và tái sử dụng khối mã đó ở nhiều nơi mà không sao chép mã.
Để định nghĩa và gọi hàm do người dùng định nghĩa, bạn sử dụng các bước sau:
Đầu tiên, định nghĩa một hàm có tên là welcome()
như sau:
<?php function welcome() { echo 'Chào mừng!'; }
Sau đó, gọi hàm welcome()
ở bất kỳ nơi nào bạn muốn hiển thị thông báo chào mừng:
<?php welcome();
Sau này, nếu bạn muốn có một thông báo khác, bạn có thể thay đổi nó tập trung trong hàm welcome()
thay vì ở nhiều nơi.
Bằng cách sử dụng một hàm, bạn có thể tái sử dụng một khối mã và làm cho script của bạn dễ bảo trì hơn.
Định nghĩa một PHP functions
Để định nghĩa một hàm, bạn sử dụng cú pháp sau:
<?php function function_name() { câu_lệnh; }
Trong cú pháp này:
- Đầu tiên, chỉ định tên hàm theo sau là từ khóa
function
. Tên của hàm cần bắt đầu bằng một chữ cái hoặc dấu gạch dưới theo sau là không hoặc nhiều chữ cái, gạch dưới và chữ số. - Thứ hai, định nghĩa một hoặc nhiều câu lệnh bên trong thân hàm. Thân hàm bắt đầu bằng
{
và kết thúc bằng}
.
Tương tự như ví dụ trên, bạn có thể định nghĩa một hàm có tên là welcome()
như sau:
<?php
function welcome
() { echo 'Chào mừng'; }
Trong ví dụ này, tên hàm là welcome
. Hàm welcome()
hiển thị thông báo chào mừng.
Hàm welcome()
không có đầu vào. Nó hiển thị thông báo chào mừng.
Trong thực tế, hàm thường chấp nhận các đầu vào. Các đầu vào giúp các hàm có thể tái sử dụng và hữu ích hơn. Và các đầu vào của một hàm được gọi là tham số.
Một hàm có thể có không hoặc nhiều tham số. Để thêm một hoặc nhiều tham số vào một hàm, bạn có thể sử dụng cú pháp sau:
<?php function function_name(tham_số1, tham_số2, ...) { }
Trong thân hàm, bạn có thể sử dụng các tham số như biến. Trong thực tế, các tham số là các biến cục bộ.
Ví dụ, nếu bạn muốn chào mừng người dùng bằng tên người dùng của họ, bạn có thể thêm một tham số $username
vào hàm welcome
như sau:
<?php function welcome_user($username) { echo 'Chào mừng ' . $username; }
Hàm welcome_user()
có một tham số $$username
. Nó hiển thị một thông báo chào mừng cho người dùng bằng cách nối chuỗi thông báo Chào mừng
với $username
.
Gọi một PHP functions
Khi một hàm không có bất kỳ tham số nào, bạn có thể gọi hàm bằng cách sử dụng tên của nó theo sau bởi dấu ngoặc đơn như thế này:
<?php function_name();
Ví dụ:
<?php function welcome() { echo 'Chào mừng!'; } welcome();
Hàm welcome()
hiển thị thông báo sau:
Chào mừng!
Và khi bạn gọi hàm với tham số, bạn cần truyền đối số vào đó:
Ví dụ sau gọi hàm welcome_user()
:
<?php function welcome_user($username) { echo 'Chào mừng ' . $username; } welcome_user('Admin');
Trong ví dụ này, chúng ta truyền đối số 'Admin'
vào hàm welcome_user()
. Hàm hiển thị thông báo sau:
Chào mừng Admin!
Bên trong hàm welcome_user()
, giá trị của $username
là 'Admin
‘.
Nếu bạn truyền một đối số khác vào hàm, thông báo sẽ thay đổi. Ví dụ:
<?php welcome_user('Khách hàng');
Kết quả:
Chào mừng Khách hàng!
Tham số và đối số
Các thuật ngữ tham số và đối số thường được sử dụng thay thế cho nhau. Tuy nhiên, chúng có một chút khác biệt.
Khi bạn định nghĩa một hàm chấp nhận đầu vào, bạn chỉ định các tham số. Trong ví dụ này, $username
là một tham số của hàm:
<?php function welcome_user($username) { echo 'Chào mừng ' . $username . '!'; }
Một đối số là một dữ liệu mà bạn truyền vào hàm khi bạn gọi nó. Trong cuộc gọi hàm sau, chuỗi chữ 'Admin'
là một đối số:
<?php welcome_user('Admin');
Trả về một giá trị
Một hàm có thể trả về một giá trị. Để trả về một giá trị từ hàm, bạn sử dụng câu lệnh return
:
return value;
Câu lệnh return
ngay lập tức kết thúc việc thực thi của hàm hiện tại và trả về giá trị đó.
Giá trị có thể là một giá trị hằng như số hay chuỗi. Ngoài ra, nó có thể là một biến hoặc một biểu thức.
Hàm sau trả về một thông báo chào mừng thay vì hiển thị nó:
<?php function welcome_user($username) { return 'Chào mừng '. $username . '!'; }
Vì hàm welcome_user()
trả về một chuỗi, bạn có thể gán giá trị trả về của nó vào một biến như sau:
$thông_báo_welcome = welcome_user('Admin');
Hoặc bạn có thể hiển thị nó:
<?php echo welcome_user(); ?>
Mã HTML bên trong hàm/ PHP functions
Thông thường, một hàm chỉ chứa mã PHP. Tuy nhiên, có thể định nghĩa một hàm chứa mã HTML. Hàm welcome()
sau hiển thị thông báo chào mừng được bọc trong thẻ span
:
<?php function welcome_user($username) { ?> <span>Welcome <?= $username ?></span> <?php } ?>
Tóm tắt
- Một hàm là một khối mã đã đặt tên thực hiện một nhiệm vụ cụ thể.
- Hãy sử dụng các hàm để tạo mã có thể tái sử dụng.
- Sử dụng câu lệnh
return
để trả về một giá trị từ một hàm.