Php-Hàm trong PHP

Các chức năng của PHP cũng tương tự như các ngôn ngữ lập trình khác. Hàm là một đoạn mã nhận thêm một đầu vào ở dạng tham số và thực hiện một số xử lý rồi trả về một giá trị.

Bạn đã thấy nhiều hàm như fopen() và fread(), v.v. Chúng là các hàm 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 của riêng bạn.

Có hai phần cần phải rõ ràng với bạn –

 Tạo một hàm PHP
 Gọi một hàm PHP

Trên thực tế, bạn hầu như không cần phải tạo hàm PHP của riêng mình vì đã có hơn 1000 hàm thư viện tích hợp sẵn được tạo cho các khu vực khác nhau và bạn chỉ cần gọi chúng theo yêu cầu của mình.

Vui lòng tham khảo Tham chiếu hàm PHP để có một bộ đầy đủ các hàm hữu ích.

Tạo hàm PHP

Rất dễ dàng để tạo hàm PHP của riêng bạn. Giả sử bạn muốn tạo một hàm PHP sẽ chỉ viết một thông báo đơn giản trên trình duyệt của bạn khi bạn gọi nó. Ví dụ sau tạo một hàm có tên writeMessage() và sau đó gọi nó ngay sau khi tạo.

Lưu ý rằng khi tạo một hàm, tên của hàm phải bắt đầu bằng từ khóa function và tất cả mã PHP phải được đặt bên trong dấu ngoặc nhọn { và } như trong ví dụ dưới đây –

<html>
   
   <head>
      <title>Writing PHP Function</title>
   </head>
   
   <body>
      
      <?php
         /* Defining a PHP Function */
         function writeMessage() {
            echo "You are really a nice person, Have a nice time!";
         }
         
         /* Calling a PHP Function */
         writeMessage();
      ?>
      
   </body>
</html>

Điều này sẽ hiển thị kết quả sau –

You are really a nice person, Have a nice time!

Hàm PHP có tham số

PHP cung cấp cho bạn tùy chọn để chuyển các tham số của bạn bên trong một hàm. Bạn có thể chuyển bao nhiêu tham số tùy thích. Các tham số này hoạt động giống như các biến bên trong hàm của bạn. Ví dụ sau lấy hai tham số số nguyên và cộng chúng lại với nhau rồi in chúng.

<html>
   
   <head>
      <title>Writing PHP Function with Parameters</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            echo "Sum of the two numbers is : $sum";
         }
         
         addFunction(10, 20);
      ?>
      
   </body>
</html>

Điều này sẽ hiển thị kết quả sau –

Sum of the two numbers is : 30

Truyền đối số theo tham chiếu

Có thể truyền đối số cho hàm bằng cách tham chiếu. Điều này có nghĩa là một tham chiếu đến biến được thao tác bởi hàm chứ không phải là bản sao giá trị của biến.

Bất kỳ thay đổi nào được thực hiện đối với một đối số trong những 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 đối số bằng cách tham chiếu bằng cách thêm dấu và vào tên biến trong lệnh gọi hàm hoặc định nghĩa hàm.

Ví dụ sau mô tả cả hai trường hợp.

<html>
   
   <head>
      <title>Passing Argument by Reference</title>
   </head>
   
   <body>
      
      <?php
         function addFive($num) {
            $num += 5;
         }
         
         function addSix(&$num) {
            $num += 6;
         }
         
         $orignum = 10;
         addFive( $orignum );
         
         echo "Original Value is $orignum<br />";
         
         addSix( $orignum );
         echo "Original Value is $orignum<br />";
      ?>
      
   </body>
</html>

Điều này sẽ hiển thị kết quả sau –

Original Value is 10
Original Value is 16 

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

Một hàm có thể trả về một giá trị bằng cách sử dụng câu lệnh return kết hợp với một giá trị hoặc đối tượng. return dừng việc thực thi hàm và gửi giá trị trở lại mã gọi.

Bạn có thể trả về nhiều hơn một giá trị từ một hàm bằng cách sử dụng mảng trả về (1,2,3,4).

Ví dụ sau lấy hai tham số số nguyên và cộng chúng lại với nhau rồi trả về tổng của chúng cho chương trình gọi. Lưu ý rằng từ khóa return được sử dụng để trả về một giá trị từ một hàm.

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            return $sum;
         }
         $return_value = addFunction(10, 20);
         
         echo "Returned value from the function : $return_value";
      ?>
      
   </body>
</html>

Điều này sẽ hiển thị kết quả sau –

Returned value from the function : 30

Đặt giá trị mặc định cho các tham số hàm

Bạn có thể đặt một tham số có giá trị mặc định nếu người gọi hàm không vượt qua nó.

Hàm sau in NULL trong trường hợp sử dụng không chuyển bất kỳ giá trị nào cho hàm này.

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
      
      <?php
         function printMe($param = NULL) {
            print $param;
         }
         
         printMe("This is test");
         printMe();
      ?>
      
   </body>
</html>

Điều này sẽ tạo ra kết quả sau –

This is test

Gọi hàm động

Có thể gán tên hàm dưới dạng chuỗi cho các biến và sau đó xử lý các biến này chính xác như cách bạn đối xử với chính tên hàm đó. Ví dụ sau mô tả hành vi này.

<html>
   
   <head>
      <title>Dynamic Function Calls</title>
   </head>
   
   <body>
      
      <?php
         function sayHello() {
            echo "Hello<br />";
         }
         
         $function_holder = "sayHello";
         $function_holder();
      ?>
      
   </body>
</html>

Điều này sẽ hiển thị kết quả sau –

Hello