Hàm trong PHP - AGOLA Hàm trong PHP - AGOLA

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ố, rồi 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()… Đó là những hàm được tích hợp sẵn, nhưng PHP cũng cung cấp cho bạn tùy chọn để bạn có thể tự tạo hàm cho mình.

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ự tạo các hàm PHP, 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.

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 QTMMessage() 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ả code PHP nên được đặt trong cặp dấu { và } như dưới đây:

<html> <head> <title>Đây là hàm PHP</title> </head> <body> <?php /* Định nghĩa hàm PHP */ function QTMMessage() { echo "Chúc các bạn học PHP thật tốt!"; } /* Gọi hàm PHP */ QTMMessage(); ?> </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 để xem kết quả.

Chúc các bn hc PHP tht tt!

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>Hàm PHP với tham số</title> </head> <body> <?php function hamTimTong($num1, $num2) { $sum = $num1 + $num2; echo "Tổng của hai số là: $sum"; } hamTimTong(15, 35); ?> </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ả:

Tng ca hai s là: 50

Truyền tham số bằng 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ằng tham chiếu trong PHP</title> </head> <body> <?php function themNam($num) { $num += 5; } function themSau(&$num) { $num += 6; } $orignum = 10; themNam( $orignum ); echo "Giá trị biến orignum là $orignum<br />"; themSau( $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ả:

Giá tr biến orignum là 10
Giá tr biến orignum là 16

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 hamTimTong($num1, $num2) { $sum = $num1 + $num2; return $sum; } $return_value = hamTimTong(20, 79); echo "Giá trị hàm trả về là: $return_value"; ?> </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ả:

Giá tr hàm tr v là: 99

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 giá trị mặc định cho tham số nếu người gọi hàm không truyền giá trị cho nó.

Hàm sau in chuỗi 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>Đặt giá trị mặc định cho tham số</title> </head> <body> <?php function inTB($param = "Mặc định") { print $param; } inTB("Truyền tham số cho hàm<br />"); inTB(); ?> </body> </html>
<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ả:

Truyn tham s cho hàm
Mc định

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ử với 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 sayChao() { echo "Xin chào!<br />"; } $function_holder = "sayChao"; $function_holder(); ?> </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ả:

Xin chào!

Các lý do cần đọc trước khi quyết định liên hệ tôi 

  1. Tham gia group Mua bán Google Ads và Google Shopping :

    https://www.facebook.com/groups/314513929300715

  2. Tham gia group mua bán cho thuê tài khoản BM Agency :

    https://www.facebook.com/groups/1204318359703229

  3. AGOLA chỉ cung cấp dịch vụ không có dịch vụ tư vấn hiểu tới đâu bán tới đó !
  4. Các dịch vụ liên quan đến hướng dẫn : diễn ra từ 5-30 phút thông qua teamview hoặc ultral thời gian càng ngắn giá tiền càng cao nên các bạn đọc kỹ trước khi sử dụng
  5. Các sản phẩm dịch vụ không có thương thảo giá và cũng không có hỏi thêm
  6. Không bán vĩnh viễn mọi dịch vụ mua nhầm đòi đổi sang gói dịch vụ khác
  7. Thông tin bảo hành gần như không có nhưng cũng có một số dịch vụ có bảo hành đề nghị đọc kỹ trước khi quyết định mua
  8. Quyết định mua hàng là đồng ý các điều khoản mua bán và điều khoản không được lấy lại tiền và không bồi hoàn
  9. Mua hàng thì xin đọc kỹ điều khoản ở từng mô tả trước khi quyết định nhấc máy liên hệ ở thông tin của từng gói dịch vụ
  10. Mọi giao dịch đều được phải bắt buộc chụp màn hình chuyển khoản gửi vào Zalo
  11. Các đối tượng cố ý chuyển tiền gói này để trục lợi sử dụng gói khác đều được coi là hình vi lừa đảo ! Cố ý ghi nội dung hiểu lầm về chuyển tiền để đôi co đòi sử dụng gói dịch vụ khác cũng vậy !
  12. Tôi là dân khối A nên việc viết sai lỗi chính tả thì kệ mẹ tôi thích thì mua không thích thì đừng soi đi ra chỗ khác do tôi không có soát lại chính tả nên các bạn đọc thay vì thắc mắc thì thông cảm giùm tôi ! miễn sao tôi truyền tải thông tin bạn đọc bạn thấy hiểu được bạn sử dụng không được bạn tìm bên khác
  13. Tôi không làm việc với bọn cử nhân viên là các công ty Agency , truyền thông gọi hỏi dò hỏi luyên thuyên ! Nếu cố tình tôi sẽ dùng CRM Agency cấm lock chạy Ads vĩnh viễn khi nhìn thấy đuôi theo rõi của doanh nghiệp đó mà tôi đã gán.
  14. Tôi không làm việc với bọn nào thì tôi chạy tiền tỷ tôi tiêu tiền tỷ nhưng chạy demo trước nếu ngon thì vít lớn nhưng sau 3 ngày thuê thấy đéo thấy như cam kết về ngân sách
  15. Tôi không hợp tác ăn chia hay kiểu Win Win đôi bên có lợi
  16. Tất cả những câu hỏi khi gọi điện khiến tôi nghĩ rằng bạn chưa đọc kỹ thông tin trên website sẽ được tôi từ chối vô điều kiện
  17. Không làm việc các công ty có các nhân vật nổi tiếng trên các đài báo truyền hình bởi vậy bớt quảng cáo
  18. Các đối tượng cố tình lên mạng tìm kiểm thông tin tôi và không có trao đổi được tôi dùng Zalo : O9O9.456.866 gửi STK thông tin thanh toán của tôi qua zalo đó mà vẫn chuyển tiền vào tài khoản của tôi được coi là hình vi lừa đảo cố tình trọc phá và lợi dụng sử dụng lừa đảo để mong muốn sử dụng dịch vụ của tôi nhưng vì cấm nên phải làm vậy
  19. Kiến thức của đại đa số dân trên mạng không sai mà chỉ đúng với bọn gà mờ mà thôi kiểu như bạn học lớp 1 cô giáo nói 1 không trừ được cho 2 lên cấp 2 cô giáo nói 1 trừ được cho 2 ! Lúc đó cô giáo cấp 1 hay thầy giáo cấp 2 không nói ai đúng ai sai được mà tại thời điểm đó bạn thấy nó đúng còn khi đi sâu vào nó đéo đúng 😀 ! Cũng như việc tôi bán dịch vụ cho dân trong nghề việc tôi có bắt mấy thằng cấp 1 nuốt kiến thức chuyên sâu của cấp 2 là không được bởi vậy dân nào hiểu sẽ liên hệ mua chứ đừng kiểu lơ mở hỏi cho vui cửa vui nhà

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Call Now Button
X