× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Hàm trong PHP là gì mà lập trình viên PHP nào cũng cần nắm rõ

31/08/2021 01:41

Hàm là một thuật ngữ được sử dụng thường xuyên và phổ biến trong quá trình lập trình. Với các lập trình viên chuyên nghiệp, thuật ngữ hàm đã không còn quá xa lạ. Với những người mới tìm hiểu về lập trình, hàm có thể là một kiến thức vừa lạ vừa khó. Do vậy, cùng tìm hiểu ngay về hàm trong PHP ngay qua bài viết dưới đây bạn nhé!

Khái niệm về hàm trong PHP

Hàm là một khối các câu lệnh chỉ thực thi khi nó được gọi ở đâu đó trong chương trình. Một hàm cung cấp khả năng tái sử dụng của cùng một mã cho các đầu vào khác nhau, do đó tiết kiệm thời gian và tài nguyên. Có một số hàm tích hợp sẵn trong PHP và một trong những hàm phổ biến là echo () được sử dụng để in đầu ra. Người dùng cũng có thể tạo chức năng của riêng họ, còn được gọi là chức năng do người dùng định nghĩa.

Tạo hàm trong PHP

Trong PHP, việc tạo hàm bắt đầu với từ khóa hàm và theo sau bởi tên hàm và dấu ngoặc đơn bao gồm tham số hàm (nếu có). Cuối cùng, nó chứa khối câu lệnh, còn được gọi là thân hàm. Vui lòng cú pháp bên dưới:

Cú pháp tạo hàm như sau:

//Defining function

function function_name(parameters)

  {

    statements;

  }

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

Trong ví dụ dưới đây, một hàm có tên MyFunction được tạo để in ra Hello World!. Hàm không yêu cầu tham số để thực thi. 

<?php 

  function MyFunction(){

      echo "Hello World!."; 

  }




  MyFunction();

?>

Đầu ra của đoạn mã trên sẽ là:

Hello World!

Hàm gọi trong PHP (Call Function)

Sau khi xác định hàm, nó có thể được gọi ở bất kỳ đâu trong chương trình với tên của nó, theo sau là dấu ngoặc đơn chứa (các) tham số của hàm, nếu có và dấu chấm phẩy (;). Như trong ví dụ trên, hàm sẽ được gọi bằng câu lệnh dưới đây:

MyFunction();

Tham số trong hàm PHP

Tham số là một biến được sử dụng để chuyển thông tin trong một hàm. Trong ví dụ trên, hàm không có bất kỳ biến nào. Nhưng người dùng có thể tạo hàm với một hoặc nhiều biến. Giá trị của tham số có thể được sử dụng thêm bởi hàm để đạt được kết quả mong muốn.

<?php 

  function MyFunction($x, $y){

    $z = $x + $y;

    echo "Sum of $x and $y is: $z.\n"; 

  }

  

  $a = 15; 

  $b = 10;

  MyFunction($a, $b);

?>

Output

Sum of 15 and 10 is: 25

Hàm trả về giá trị trong PHP

Một hàm trong PHP cũng có thể sử dụng để trả về giá trị. Trong ví dụ dưới đây, hàm được gọi là MyFunction trả về tổng giá trị của hai chữ số:

<?php 

  function MyFunction($x, $y){

    $z = $x + $y;

    return $z; 

  }

  

  $a = 15; 

  $b = 10;

  echo MyFunction($a, $b);

?>

Output của đoạn code trên sẽ là

25

Giá trị tham số mặc định trong hàm PHP

Giá trị mặc định có thể được gán cho một tham số tạo thời điểm tạo hàm. Khi hàm được gọi mà không có tham số thì nó sẽ sử dụng giá trị mặc định.

Ví dụ:

Trong ví dụ dưới đây, giá trị tham số mặc định được sử dụng để thực hiện phép tính tổng trên hai, ba hoặc bốn biến bằng cách sử dụng cùng một hàm có tên MyFunction. Giá trị mặc định được đặt trong khi xác định hàm. Khi hàm được gọi mà không có tham số, thì nó sử dụng giá trị mặc định của tham số.

<?php 

  function MyFunction($p, $q, $r=0, $s=0){

      return $p+$q+$r+$s; 

  }

  $a = 15; $b = 10; $c = 5; $d = 1;

  echo MyFunction($a,$b)."\n"; 

  echo MyFunction($a,$b,$c)."\n";

  echo MyFunction($a,$b,$c,$d)."\n";

?>

Output chúng ta nhận được sẽ là:

25 

30 

31

>>> Đọc thêm: Tham khảo khóa học lập trình PHP

Hàm đệ quy trong PHP

Một hàm có thể gọi chính nó được gọi là hàm đệ quy. Một hàm đệ quy thường kết thúc với một hoặc nhiều điều kiện bên  lề.

Ví dụ:

Một hàm để tính giai thừa bằng phương pháp đệ quy được mô tả như dưới đây:

<?php 

  function factorial($x){

      if($x==0)

        {return 1;}

      else

        {return $x*factorial($x-1);} 

  }

  echo factorial(3)."\n"; 

  echo factorial(5)."\n";

?>

Đầu ra cho kết quả như sau:

6

120

>>> Đọc thêm: Ajax trong PHP - Tìm hiểu về Ajax trong PHP

Khai báo kiểu dữ liệu của các tham số của một hàm

Trong PHP, không cần khai báo kiểu dữ liệu của các tham số trong một hàm. PHP tự động lấy kiểu dữ liệu của một biến, tùy thuộc vào giá trị của nó. Điều này có thể dẫn đến lỗi khi chuỗi được chuyển qua một hàm thay vì kiểu dữ liệu số. Do đó, trong PHP 7 trở đi, khai báo kiểu được thêm vào. Điều này cung cấp một tùy chọn để chỉ định kiểu dữ liệu của các tham số.

Ví dụ:

Trong ví dụ dưới đây, một hàm có tên MyFunction được định nghĩa sẽ nhận kiểu dữ liệu số nguyên làm đối số.

<?php 

  function MyFunction(int $x, int $y){

    $z = $x + $y;

    return $z; 

  }

  

  $a = 15; 

  $b = 10;

  echo MyFunction($a, $b);

?>

Output

25

Bằng cách thêm khai báo strict, nó sẽ đưa lỗi “fatal error” trong trường hợp kiểu dữ liệu không khớp. Điều này có thể được thực hiện bằng cách cài đặt dòng đầu tiên của tập lệnh PHP dưới dạng declare(strict_types=1);.

<?php 

  declare(strict_types=1);

  function MyFunction(int $x, int $y){

    $z = $x + $y;

    return $z; 

  }

  

  $a = 15.5; 

  $b = 10;

  echo MyFunction($a, $b);

?>

Output

PHP Fatal error:  Uncaught TypeError

>>> Đọc thêm: Ajax trong PHP - Tìm hiểu về Ajax trong PHP

Khai báo kiểu trả về của một hàm trong PHP

Từ PHP 7 trở đi, PHP sẽ hỗ trợ khai báo kiểu dữ liệu trở về. Bằng cách thêm dấu hai chấm (:) sau khi khai báo biến.

Ví dụ:

Trong ví dụ dưới đây, một hàm có tên MyFunction được định nghĩa. Nó được khai báo để trả về kiểu dữ liệu float

<?php 

  declare(strict_types=1);

  function MyFunction(float $x, int $y) : float{

    $z = $x * $y;

    return $z; 

  }

  

  $a = 15.25; 

  $b = 10;

  echo MyFunction($a, $b);

?>

Output 

152,5

Kết luận: Hàm là một khái niệm quen thuộc mà bất kỳ lập trình viên nào cũng cần nắm rõ. Trong bài viết trên, T3H đã chia sẻ tới bạn một số thông tin về hàm trong PHP. Hy vọng bạn thấy bài viết trên hữu ích. Tham khảo ngay các khóa học lập trình tại  Viện công nghệ thông tin T3H để tìm hiểu thêm về PHP và các ngôn ngữ lập trình khác  bạn nhé!

Source: alphacodingskills