Hàm trong PHP
Hàm trong PHP giống với các ngôn ngữ lập trình khác. Một hàm là một đoạn code mà nhận một hoặc nhiều đầu vào trong mẫu các tham số, và thực hiện một vài tiến trình xử lý và trả về 1 giá trị.
Chương trước chúng ta đã làm quen với các hàm như fopen() và fread() ... Chúng là những hàm được xây dựng sẵn, nhưng PHP cũng cung cấp cho bạn tùy chọn để tạo các hàm riêng cho bạn.
Chương này sẽ giúp bạn hiểu rõ hai phần sau:
- Tạo một hàm trong PHP
- Gọi một hàm trong PHP
Thực tế bạn hầu như không cần tạo các hàm PHP của riêng mình, bởi vì đã có khoảng hơn 1000 hàm được xây dựng trong thư viện để xử lý các công việc khác nhau và bạn chỉ cần gọi chúng theo yêu cầu của mình.
Hãy tham khảo Tổng hợp hàm trong PHP để thấy toàn bộ các hàm hữu ích.
Tạo hàm trong PHP
Trong PHP, rất đơn giản để tạo một hàm riêng cho mình. Giả sử bạn muốn tạo một hàm, hàm này sẽ đơn giản là ghi một thông điệp trên trình duyệt khi bạn gọi nó. Ví dụ sau sẽ tạo một hàm writeMessage() và gọi nó sau khi tạo.
Chú ý rằng trong khi tạo một hàm, thì tên hàm nên bắt đầu với từ khóa function và tất cả PHP code nên được đặt trong cặp dấu { và } như sau:
<html> <head> <title>Hàm trong PHP</title> </head> <body> <?php /* Định nghĩa hàm */ function vietjackMessage() { echo "VietJack chúc các bạn học tốt!"; } /* Gọi hàm */ vietjackMessage(); ?> </body> </html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Hàm với các Tham số trong PHP
PHP cung cấp cho bạn tùy chọn để truyền tham số vào trong một hàm. Bạn có thể sử dụng nhiều tham số bao nhiêu nếu bạn thích. Các tham số này làm việc như các biến trong hàm. Ví dụ sau sử dụng 2 tham số integer và tính tổng của chúng rồi in ra.
<html> <head> <title>Ví dụ hàm với tham số trong PHP</title> </head> <body> <?php function hamTinhTong($num1, $num2) { $sum = $num1 + $num2; echo "Tổng hai số là: $sum"; } hamTinhTong(11, 22); ?> </body> </html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Truyền tham số bởi tham chiếu trong PHP
Nó là có thể để truyền các tham số cho hàm bởi tham chiếu. Nghĩa là, một tham chiếu tới biến được thao tác bởi hàm thay vì sao chép một giá trị của biến đó.
Bất kỳ thay đổi nào được tạo ra cho một tham số trong các trường hợp này sẽ thay đổi giá trị của biến ban đầu. Bạn có thể truyền một tham số bởi tham chiếu bằng việc thêm một ký hiệu & cho tên biến trong: lời gọi hàm hoặc định nghĩa hàm.
Ví dụ sau miêu tả hai trường hợp này:
<html> <head> <title>Truyền tham số bởi tham chiếu trong PHP</title> </head> <body> <?php function addFive($num) { $num += 5; } function addSix(&$num) { $num += 6; } $orignum = 10; addFive( $orignum ); echo "Giá trị biến orignum là: $orignum<br />"; addSix( $orignum ); echo "Giá trị biến orignum là: $orignum<br />"; ?> </body> </html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Hàm trả về giá trị trong PHP
Một hàm có thể trả về một giá trị bởi sử dụng lệnh return kết hợp với một giá trị hoặc một đối tượng. Hàm return trong PHP dừng sự thực thi của hàm và gửi giá trị trở lại code đang gọi.
Bạn có thể trả về nhiều hơn một giá trị từ một hàm bởi sử dụng return array(1,2,3,4).
Ví dụ sau nhận hai tham số nguyên và tính tổng giá trị của chúng, sau đó trả về kết quả cho chương trình đang gọi. Ghi chú rằng từ khóa return được sử dụng để trả về một giá trị từ một hàm.
<html> <head> <title>Hàm trả về giá trị trong PHP</title> </head> <body> <?php function hamTinhTong($num1, $num2) { $sum = $num1 + $num2; return $sum; } $giaTriTraVe = hamTinhTong(10, 20); echo "Giá trị trả về từ hàm là: $giaTriTraVe"; ?> </body> </html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Thiết lập giá trị mặc định cho tham số hàm trong PHP
Bạn có thể thiết lập một tham số có một giá trị mặc định nếu người gọi hàm không truyền cho nó.
Hàm sau in chuỗi Giá trị mặc định trong trường hợp không truyền bất kỳ giá trị nào cho hàm này.
<html> <head> <title>Thiết lập giá trị mặc định cho tham số hàm trong PHP</title> </head> <body> <?php function printMessage($param = "Giá trị mặc định") { print $param; } printMessage("Truyền cho hàm một tham số bất kỳ!!!<br />"); printMessage(); ?> </body> </html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Gọi hàm động trong PHP
Trong PHP, bạn có thể gán các tên hàm như là các chuỗi cho các biến và sau đó đối xử các biến này như khi bạn có chính tên hàm đó. Ví dụ sau miêu tả hành vi này:
<html> <head> <title>Gọi hàm động trong PHP</title> </head> <body> <?php function sayHello() { echo "Hello PHP<br />"; } $goiHamDong = "sayHello"; $goiHamDong(); ?> </body> </html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Các bạn ở Hà Nội có thể tham gia khóa học thứ 9 của vietjackteam (đang tuyển sinh) vào cuối tháng 10/2018 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Số lượng các công việc Java hoặc .NET luôn gấp ít nhất 3 lần Android hoặc iOS trên thị trường tuyển dụng. Khóa online= Đi phỏng vấn, Khóa offline= Đi phỏng vấn+ 1.5 tháng thực tập ngoài doanh nghiệp.
Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline
Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Từ tháng 4/2018, VietJack khuyến mại giá SỐC chỉ còn 250k cho khóa học, các bạn có thể trả lại tiền nếu không hài lòng về chất lượng trong 1 tháng, liên hệ facebook admin fb.com/tuyen.vietjack để thanh toán chuyển khoản hoặc thẻ điện thoại, khóa học bằng Tiếng Việt với gần 100 video, các bạn có thể chủ động bất cứ lúc nào, và xem mãi mãi. Thông tin khóa học tại Khóa học Java Online trên Udemy
Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Các bài học PHP phổ biến khác tại VietJack: