function tên_hàm([các tham số truyền vào ...])
{
[thân hàm ...]
}
?>
function this_is_một_hàm()
{
echo "Hoàn toàn hợp lệ !!!";
}
?>
- Chú ý: mỗi tên hàm chỉ được định nghĩa một lần. Với một số ngôn ngữ khác, hàm có thể được gọi đè khi danh sách tham số truyền vào là khác nhau (Java chẳng hạn), nhưng PHP thì không có việc đó.Gọi hàm cũng khá dễ. Bạn chỉ việc gọi tên hàm cùng danh sách tham số đi kèm. Hay hơn, việc gọi hàm KHÔNG PHÂN BIỆT CHỮ HOA-CHỮ THƯỜNG. Tuy nhiên, khuyến cáo là nên gọi hàm theo đúng tên hàm đã đặt, như thế dễ quản lý hơn.
generate_left_menu_bar();
GeNeRaTe_LeFt_MEnu_BaR(); // cũng được, nhưng không nên dùng !!!
process_user_information($current_user, "new user", 65.0);
generate_copyright_notices();
generate_left_menu_bar; // Sai !! Vì không có dấu ()!!
?>
Chú ý ví dụ trên, khi gọi tên hàm, luôn phải có cặp dấu ( ) nếu hàm không nhận tham số nào (còn nếu nhận tham số thì tất nhiên cặp dấu đó để chứa tham số rồi, phải không ).Ngừng việc thực thi hàm
- Vào bất cứ thời điểm nào trong quá trình thực thi hàm, bạn cũng đều có thể dừng công việc của hàm bằng từ khoá return.
function work_work_work()
{
$dow = date('l');
if ($dow == 'Saturday' or $dow == 'Sunday')
{
// nghỉ việc vào cuối tuần
return;
}
// work hard
work_harder();
}
?>
- Ví dụ cho một cấu trúc cơ bản:
function my_new_function($param1, $param2, $param3, $param4)
{
echo <<
You passed in:
\$param1: $param1
\$param2: $param2
\$param3: $param3
\$param4: $param4
DONE;
}
?>
// gọi hàm với nhiều loại tham số truyền vào
my_new_function($userName, 6.22e23, pi(), $a or $b);
?>
Giá trị trả về của hàm
- Thông thường, người ta lập trình hàm chỉ để xử lý một công việc nhất định mang tính lặp lại, và giá trị trả về của hàm là không có (null). Nhưng không hẵng tất cả mọi trường hợp đều như vậy:
function is_even_number($number)
{
if (($number % 2) == 0)
return TRUE;
else
return FALSE;
}
?>
Hàm là một công cụ rất mạnh trong PHP. Việc sử dụng hàm không chỉ để tối ưu các đoạn code, nó còn làm cho chương trình dễ đọc hơn và thích hợp để làm trong một nhóm với nhau.
Chúc bạn thành công,iSheep (UDS)