Trong PHP, khi bạn định nghĩa một hàm (function), bạn có thể chỉ định các tham số (parameters) mà hàm đó nhận vào. Tùy vào việc có sử dụng tham số hay không, bạn có thể phân biệt giữa hai loại hàm: parameterised function (hàm có tham số) và non-parameterised function (hàm không có tham số). Hãy cùng tìm hiểu chi tiết về sự khác biệt giữa chúng.

1. Hàm không có tham số (Non-parameterised function)

Hàm không có tham số là những hàm không nhận bất kỳ giá trị nào khi được gọi. Khi bạn gọi một hàm như vậy, nó sẽ thực hiện các tác vụ đã được định nghĩa bên trong mà không cần bất kỳ dữ liệu đầu vào nào. Loại hàm này thường được sử dụng khi bạn muốn thực hiện một tác vụ cố định mà không cần phụ thuộc vào bất kỳ giá trị nào từ bên ngoài.

Ví dụ về hàm không có tham số:

function greet() {
    echo "Chào mừng đến với PHP!";
}

greet(); // Xuất: Chào mừng đến với PHP!

Trong ví dụ trên, hàm greet không nhận tham số nào. Khi được gọi, nó chỉ in ra một thông điệp cố định.

2. Hàm có tham số (Parameterised function)

Hàm có tham số là những hàm nhận một hoặc nhiều giá trị (tham số) khi được gọi. Những tham số này cho phép bạn truyền dữ liệu vào hàm, và hàm sẽ thực hiện các tác vụ dựa trên những giá trị này. Hàm có tham số thường mang lại tính linh hoạt hơn, vì bạn có thể sử dụng cùng một hàm với các giá trị khác nhau.

Ví dụ về hàm có tham số:

function add($a, $b) {
    return $a + $b;
}

$result = add(5, 10); // Gọi hàm với tham số 5 và 10
echo $result; // Xuất: 15

Trong ví dụ trên, hàm add nhận hai tham số $a$b. Khi gọi hàm, bạn truyền vào hai giá trị, và hàm trả về tổng của chúng.

3. Điểm khác biệt chính

Đặc điểmHàm không có tham số (Non-parameterised function)Hàm có tham số (Parameterised function)
Khả năng nhận dữ liệuKhông nhận tham số nàoNhận một hoặc nhiều tham số
Tính linh hoạtThực hiện một tác vụ cố địnhCó thể thực hiện các tác vụ khác nhau dựa trên giá trị tham số
Cú pháp gọiGọi mà không cần truyền dữ liệuCần truyền các giá trị cho tham số khi gọi

4. Khi nào nên sử dụng?

  • Hàm không có tham số: Thường được sử dụng khi bạn có một tác vụ cố định mà không cần bất kỳ dữ liệu nào từ bên ngoài. Ví dụ như in ra thông điệp, ghi log, hoặc thực hiện một số thao tác khởi động.
  • Hàm có tham số: Sử dụng khi bạn cần linh hoạt hơn và muốn thực hiện các tác vụ khác nhau dựa trên dữ liệu đầu vào. Các hàm này giúp bạn tái sử dụng mã và dễ dàng mở rộng chức năng.

Kết luận

Tóm lại, sự khác biệt giữa hàm có tham số và hàm không có tham số trong PHP chủ yếu nằm ở việc có hay không có tham số đầu vào. Hàm không có tham số thực hiện các tác vụ cố định, trong khi hàm có tham số mang lại tính linh hoạt hơn khi bạn có thể truyền vào các giá trị khác nhau. Việc lựa chọn loại hàm nào để sử dụng phụ thuộc vào yêu cầu cụ thể của ứng dụng bạn đang phát triển.