Khai báo (strict_types=1) php

Hàm là một kiến ​​thức cực kỳ quan trọng trong PHP, điểm mạnh nhất của PHP chính là hàm. PHP có hơn 1000 hàm đã được tích hợp sẵn, ngoài ra thì bạn có thể tự xây dựng cho mình những hàm tùy ý theo dự án

I. Hàm tích hợp sẵn trong PHP

- Như đã nói ở trên thì PHP có hơn 1000 hàm đã được xây dựng sẵn, bạn hoàn toàn có thể sử dụng chúng cho chương trình của mình mà không cần phải mất công xây dựng.  

- Để biết các hàm tích hợp sẵn trong PHP là hàm nào thì bạn có thể truy cập vào đây. Các hàm tích hợp sẵn trong PHP

- Bài viết mình sẽ hướng dẫn cách viết hàm và cách sử dụng hàm trong PHP nhé

II. Khái niệm hàm trong PHP

1. Hàm là gì?

- Hàm đơn giản là một khối câu lệnh được sử dụng để lặp lại nhiều lần trong một chương trình

- Một hàm sẽ không tự động thực thi nếu như không được gọi

2. Cách định nghĩa hàm và cách gọi hàm

- Cú pháp định nghĩa hàm như sau.  

function functionName() {
  // code thực thi
}

- Lưu ý

  • Tên hàm phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. Tên hàm KHÔNG phân biệt chữ hoa chữ thường
  • Nên đặt tên hàm theo chức năng của nó để khỏi phải bình luận lại chức năng của hàm mà người khác đọc vẫn hiểu

- Ví dụ. Định nghĩa một hàm xuất ra màn hình "Hello Word" và gọi hàm đó

3. Hàm có đối số

- Khi xây dựng hàm có các đối số bạn cần chú ý các điểm sau.  

  • Thông báo được chuyển đến hàm thông qua đối số
  • Một hàm có thể có nhiều đối số
  • Mỗi đối số giống như một biến và được đặt cách nhau bởi dấu phẩy ,

- Ví dụ. Ta có một hàm tính tổng a và b, với a,b là số bất kỳ. Lúc này ta có thể xây dựng một hàm kèm theo 2 đối số a, b như sau

- Trong ví dụ trên, bạn sẽ thấy khi gán đối số chúng ta không cần khai báo kiểu dữ liệu, PHP sẽ tự định nghĩa kiểu dữ liệu phù hợp với đối số nhất rồi thực thi lệnh. Ví dụ cũng là hàm trên nhưng nếu như tôi truyền đối số b là một chuỗi thì PHP cũng sẽ tự động ép kiểu chuỗi về kiểu int để tính toán. Bạn chạy ví dụ sau đây để hiểu rõ hơn

- Đấy là bạn chưa khai báo kiểu dữ liệu, vậy nếu như bạn đã khai báo kiểu dữ liệu thì sao? . Bạn không thể chạy ví dụ sau đây để kiểm tra

- Rõ ràng thông qua 2 trường hợp trên, bạn truyền đối số sai nhưng chương trình vẫn chạy không báo lỗi, điều này rất nguy hiểm. Chính vì 2 trường hợp trên nên ngôn ngữ PHP được nhiều người đánh giá là khá lỏng. Rất có thể trong PHP 7 đã được khai báo nghiêm ngặt(nghiêm cấm), nó sẽ tạo ra "Lỗi nghiêm trọng" nếu kiểu dữ liệu không phù hợp. Cách thêm khai báo nghiêm ngặt cũng rất đơn giản, bạn chỉ cần thêm dòng khai báo (strict_types=1);

- Bây giờ chúng ta thử khai báo nghiêm ngặt đối với ví dụ trên để hiểu rõ hơn về vấn đề này

- Khi tuyên bố nghiêm ngặt có nghĩa là tuyên bố chặt chẽ mọi thứ buộc phải được sử dụng theo cách đã định

4. Hàm có đối số mặc định

- Khi xây dựng hàm có đối số mặc định, nếu như bạn không truyền đối số vào thì hàm sẽ tự lấy giá trị mặc định đã được khai báo từ đầu để thực thi chương trình

- Ví dụ. Ta có hàm gán chiều cao bất kỳ, kèm theo giá trị mặc định = 50 như sau

";
}

setHeight(350); // Kết quả 350
setHeight(); // Không truyền đối số nên sẽ lấy giá trị mặc định là 50
?>

5. Khai báo kiểu trả về cho hàm

- Thông thường khi viết hàm, ta thường sử dụng câu lệnh return để lấy giá trị trả về của một hàm như sau

- Trong PHP 7 có thêm phần khai báo kiểu cho câu lệnh trả về, để khai báo kiểu cho hàm trả về, hãy thêm dấu hai chấm (. ) and data type ngay trước dấu trích dẫn ({) open when khai báo hàm. Tham khảo ví dụ sau để hiểu rõ hơn

- Ngoài ra, bạn có thể khai báo kiểu trả về khác với các đối số, nhưng bạn phải đảm bảo kết quả trả về đúng với kiểu câu lệnh trả về. Ví dụ ta có hàm tính tổng a và b, a, b có kiểu dữ liệu float, kiểu khai báo trả về là int như sau.  

6. Hàm tham chiếu dạng đối số

- Khi các đối số được truyền bằng giá trị thì giá trị của các đối số đó không bị thay đổi. Tuy nhiên, trong một số trường hợp bạn muốn giá trị của các đối số đó thay đổi theo, thì bạn cần phải truyền biến vào hàm tham chiếu tham chiếu. Để hàm biến đối số thành dạng tham chiếu ta sử dụng toán tử & trước đối số, tham khảo ví dụ sau

- Như vậy là mình đã chia sẻ xong kiến ​​thức về hàm trong PHP, có thể nói đây là một trong những kiến ​​thức rất quan trọng và bổ ích khi làm việc với PHP. Nó sẽ giúp bạn code tối ưu, tránh bị trùng lặp code, giúp code chuyên nghiệp hơn

Bài viết nên đọc

Trên đây là những kiến ​​thức từ kinh nghiệm bản thân mình các bạn có thể tham khảo. Nếu các bạn có đóng góp ý kiến ​​cho mình thì hãy gửi vào đây, mình sẵn sàng đón nhận các ý kiến ​​đóng góp từ các bạn