Hàm không là gì ngoài một 'khối câu lệnh' thường thực hiện một tác vụ cụ thể và có thể được sử dụng nhiều lần trong chương trình của chúng ta. 'Khối câu lệnh' này cũng được đặt tên để bất cứ khi nào chúng ta muốn sử dụng nó trong chương trình/tập lệnh của mình, chúng ta có thể gọi nó bằng tên của nó
Trong PHP có hàng nghìn hàm dựng sẵn mà chúng ta có thể sử dụng trực tiếp trong chương trình/tập lệnh của mình
PHP cũng hỗ trợ các hàm do người dùng định nghĩa, nơi chúng ta có thể định nghĩa các hàm của riêng mình
Một chức năng không thực thi khi nó được định nghĩa, nó thực thi khi nó được gọi
Hãy hiểu cách chúng ta có thể định nghĩa các hàm của riêng mình trong chương trình của mình và sử dụng các hàm đó
cú pháp
Một vài Quy tắc đặt tên cho Hàm
- Tên hàm chỉ có thể chứa bảng chữ cái, số và dấu gạch dưới. Không có ký tự đặc biệt nào khác được phép
- Tên phải bắt đầu bằng bảng chữ cái hoặc dấu gạch dưới. Nó không nên bắt đầu bằng một con số
- Và cuối cùng nhưng không kém phần quan trọng, tên hàm không phân biệt chữ hoa chữ thường
- Dấu ngoặc nhọn mở
0 sau tên hàm đánh dấu phần đầu của mã hàm và dấu ngoặc nhọn đóng"; // calling the function greetings[]; // next line echo "
"; echo "Hey Jon
"; // calling the function again greetings[]; ?>
1 đánh dấu phần cuối của mã hàm"; // calling the function greetings[]; // next line echo "
"; echo "Hey Jon
"; // calling the function again greetings[]; ?>
Thời gian cho một ví dụ
Hãy viết một hàm rất đơn giản sẽ hiển thị thông báo "Merry Christmas and a Very Happy New Year" đơn giản. Kịch bản này thực sự có thể rất hữu ích khi bạn phải gửi email lễ hội cho mọi người bạn của mình và bạn phải viết cùng một thông điệp trong tất cả chúng
";
// calling the function
greetings[];
// next line
echo "
";
echo "Hey Jon
";
// calling the function again
greetings[];
?>
Chào Martha Giáng sinh vui vẻ và một năm mới hạnh phúc Chào Jon Giáng sinh vui vẻ và một năm mới hạnh phúc
Ưu điểm của hàm do người dùng định nghĩa
Như chúng ta đã thấy một ví dụ đơn giản về việc sử dụng một hàm ở trên, bạn hẳn đã hiểu nó có thể tiết kiệm thời gian như thế nào đối với các chương trình lớn. Dưới đây là một vài lợi thế của việc sử dụng các chức năng cho bạn
- Mã tái sử dụng. Rõ ràng từ ví dụ trên, bạn viết một hàm và có thể sử dụng nó hàng nghìn lần trong chương trình của bạn
- Ít lặp lại mã hơn. Trong ví dụ trên, chúng ta chỉ có một dòng mã trong hàm, nhưng nếu chúng ta có 10 dòng mã thì sao?. Vì vậy, thay vì lặp đi lặp lại tất cả các dòng mã đó, chúng ta chỉ cần tạo một hàm cho chúng và chỉ cần gọi hàm đó
- Dễ hiểu. Sử dụng các chức năng trong chương trình của bạn, làm cho mã dễ đọc và dễ hiểu hơn
Đối số chức năng PHP
Chúng ta thậm chí có thể truyền dữ liệu cho một chức năng, có thể được sử dụng bên trong khối chức năng. Điều này được thực hiện bằng cách sử dụng các đối số. Một đối số không là gì ngoài một biến
Các đối số được chỉ định sau tên hàm, trong ngoặc đơn, được phân tách bằng dấu phẩy. Khi chúng ta định nghĩa một hàm, chúng ta phải xác định số lượng đối số mà nó sẽ chấp nhận và chỉ có thể truyền số lượng đối số đó trong khi gọi hàm.
cú pháp
Hãy lấy một ví dụ đơn giản
";
// calling the function
greetings["Diwali"];
// next line
echo "
";
echo "Hey Jon
";
// calling the function again
greetings["New Year"];
?>
Này Jai Chúc bạn một lễ Diwali vui vẻ Này Jon chúc bạn một năm mới hạnh phúc
Như bạn có thể thấy trong ví dụ trên, cách chúng ta thay đổi hàm
";
// calling the function
greetings[];
// next line
echo "
";
echo "Hey Jon
";
// calling the function again
greetings[];
?>
2 để bắt đầu nhận đối số và giờ đây nó có thể được sử dụng để gửi lời chúc mừng cho các lễ hội khác nhauĐối số chức năng mặc định PHP
Đôi khi các đối số của hàm đóng một vai trò quan trọng trong việc thực thi mã hàm. Trong những trường hợp như vậy, nếu người dùng quên cung cấp đối số trong khi gọi hàm, điều đó có thể dẫn đến một số lỗi.
Để tránh những lỗi như vậy, chúng ta có thể cung cấp một giá trị mặc định cho các đối số được sử dụng khi không có giá trị nào được cung cấp cho đối số khi hàm được gọi
Hãy lấy một ví dụ
";
// calling the function with an argument
greetings["Diwali"];
// next line
echo "
";
echo "Hey Jon
";
// and without an argument
greetings[];
?>
Này Jai Chúc bạn một lễ Diwali thật Hạnh phúc Này Jon Chúc bạn một Cuộc sống thật Hạnh phúc
Vì vậy, khi bạn quên cung cấp đối số trong khi gọi hàm, để che đậy, bạn có thể đặt giá trị mặc định cho đối số cho hàm của mình
Các giá trị trả về của hàm PHP
Có, các chức năng thậm chí có thể trả về kết quả. Khi chúng ta có các hàm được xác định để thực hiện một số phép toán, v.v., chúng ta muốn xuất kết quả của phép toán, vì vậy chúng ta trả về kết quả
Câu lệnh
";
// calling the function
greetings[];
// next line
echo "
";
echo "Hey Jon
";
// calling the function again
greetings[];
?>
0 được sử dụng để trả về bất kỳ biến hoặc giá trị nào từ một hàm trong PHPHãy xem một ví dụ
";
?>
5 + 10 = 15
Nạp chồng hàm PHP
Nạp chồng hàm cho phép bạn có nhiều biến thể khác nhau của một hàm, được phân biệt bởi số lượng và loại đối số mà chúng nhận
Ví dụ: chúng ta đã định nghĩa hàm
";
// calling the function
greetings[];
// next line
echo "
";
echo "Hey Jon
";
// calling the function again
greetings[];
?>
1 nhận hai đối số và trả về tổng của hai đối số đó. Nếu chúng tôi muốn cung cấp hỗ trợ để thêm 3 sốĐể giải quyết những tình huống như vậy, điều chúng ta có thể làm là xác định hai biến thể khác nhau của hàm
";
// calling the function
greetings[];
// next line
echo "
";
echo "Hey Jon
";
// calling the function again
greetings[];
?>
1, một biến thể nhận 2 đối số và biến thể khác nhận 3 đối số. Điều này được gọi là quá tải chức năngHãy lấy một ví dụ,
";
// calling add with 3 arguments
echo "5 + 10 + 15 = " .add[5, 10, 15] . "
";
?>
5 + 10 = 15 5 + 10 + 15 = 30
Thật không may, PHP không hỗ trợ Nạp chồng hàm
Điều này chỉ để cung cấp cho bạn một ý tưởng về nạp chồng hàm là gì. Trong PHP, chữ ký hàm chỉ dựa trên tên của chúng và không bao gồm danh sách đối số, do đó chúng ta không thể có hai hàm có cùng tên