Khai báo hàm trong PHP
Hàm trong PHP tương tự như hàm trong C tuy nhiên không khai báo kiểu dữ liệu của tham số và kiểu dữ liệu trả về. Khác biệt nữa là có thể sử dụng hàm trước rồi mới khai báo cách cài đặt hàm sau.
|
|
Có thể khai báo hàm trong hàm, hoặc hàm trong if.
|
|
Truyền tham số vào hàm
Ngoài cách truyền tham biến thông thường, trong PHP có cách truyền tham số dạng tham chiếu với ký tự &
ở trước tham số. Cách truyền tham chiếu sẽ lấy giá trị của biến lúc truyền vào chứ không tạo biến mới.
|
|
Truyền giá trị mặc định vào tham số giống như C++.
|
|
Trường hợp không truyền tham số thì không thay đổi được giá trị truyền vào hàm:
|
|
Trường hợp truyền object vào tham số thì PHP coi đó là tham chiếu (không cần sử dụng toán tử &
).
Khai báo kiểu cho tham số của hàm
Trong PHP có tùy chọn khai báo kiểu cho tham số của hàm.
Một số kiểu thường dùng là
Kiểu | Ý nghĩa | Từ phiên bản |
---|---|---|
Tên Class hoặc Interface | Kiểu của tham số phải là thể hiện của tên Class hoặc Interface đó | PHP 5.0.0 |
self |
Kiểu của tham số phải là thể hiện của Class hoặc Interface hiện tại | PHP 5.0.0 |
array |
Kiểu của tham số là array | PHP 5.1.0 |
callable |
Kiểu của tham số là callable | PHP 5.4.0 |
Ngoài ra từ phiên bản PHP 7.0 còn có thêm các kiểu là bool
, float
, int
và string
.
Ví dụ như sau:
|
|
Giá trị trả về của hàm
Nếu không khai báo giá trị trả về của hàm thì hàm trả về giá trị NULL
.
Hàm cũng có thể trả về một tham chiếu. Khi hàm trả về tham chiếu cả tên hàm và lúc gán tham chiếu cho biến đều sử dụng ký hiệu &
.
|
|
Phiên bản PHP 7 có hổ trợ thêm kiểu giá trị trả về.
|
|