Trong PHP, để cho hàm trở nên linh động hơn, ta nên khai báo các tham số trong phần khai báo của hàm. Với mỗi giá trị truyền vào khác nhau cho hàm, kết quả trả về của hàm sẽ khác.
Tham số là những biến được khai báo trong định nghĩa của hàm. Tham số được dùng để nhận các giá trị truyền từ bên ngoài vào hàm. Tham số được sử dụng như các biến cục bộ, và chỉ tồn tại khi hàm được gọi và còn hoạt động, khi hàm kết thúc, các tham số và biến cục bộ bên trong hàm cũng sẽ không tồn tại.
Đối số là những biến hoặc giá trị được truyền từ bên ngoài vào hàm.
Để truyền giá trị cho tham số bên trong hàm, ta có 2 cách: Truyền tham chiếu và truyền tham trị.
Là cách truyền giá trị vào cho tham số trong hàm, trong đó những thay đổi chỉ diễn ra bên trong nội bộ hàm. Sau khi hàm được thực hiện xong, giá trị của đối số truyền từ bên ngoài vào hàm sẽ không thay đổi.
Ở trong bài ví dụ này, ta định nghĩa một hàm cho phép tăng giá trị của tham số lên 1. Trong hàm này, ta in ra giá trị của tham số.
Sau đó, ta khai báo một biến $b=5, rồi truyền giá trị của biến này vào hàm khi gọi hàm.
Sau khi hàm được gọi, ta cũng in ra giá trị của biến $b để xem biến này có thay đổi sau khi gọi hàm hay không.
Sau khi gọi hàm xong, ta thấy giá trị của biến $b vẫn là 5, và những thay đổi chỉ diễn ra đối với tham số $a trong nội bộ hàm, còn biến $b vẫn giữ nguyên giá trị.
Là một cách truyền giá trị vào bên trong hàm, trong đó sau khi gọi hàm, giá trị của đối số truyền từ bên ngoài vào hàm sẽ được thay đổi.
Để thực hiện truyền tham chiếu cho hàm, ta thêm ký tự dấu & vào trước tên tham số của hàm.
Ở đây ta vẫn giữ bài ví dụ như ở trên, ta định nghĩa một hàm cho phép tăng giá trị của tham số lên một đơn vị.
Tuy nhiên, trong ví dụ này, ta cài đặt phương pháp truyền tham chiếu cho tham số $s.
Trong ví dụ này, ta khai báo biến $b=5, rồi in ra giá trị của biến $b trước và sau khi gọi hàm add(), để tiện trong việc so sánh.
Sau khi gọi hàm add(), ta có thể thấy, giá trị của đối số $b được truyền từ bên ngoài vào hàm đã thay đổi.
Như vậy, chúng ta đã tìm hiểu về cách truyền tham trị và tham chiếu cho hàm trong lập trình PHP. Đây là những kiến thức giúp bạn làm chủ hàm trong PHP. Hãy tự nghĩ ra các ví dụ và luyện tập cho quen tay nhé.
Nguyễn Hùng Cường