Hàm trong PHP, định nghĩa, khai báo và gọi hàm trong PHP

/ Lập trình web / Php & Mysql
Hàm trong PHP, định nghĩa, khai báo và gọi hàm trong PHP
1

Định nghĩa hàm trong PHP

Hàm trong PHP là các đoạn mã PHP được gom chung lại với nhau để thực hiện một tác vụ cụ thể nào đó.

Một hàm sẽ được khai báo một lần và có thể được gọi để sử dụng ở nhiều nơi khác nhau trong chương trình.

Một hàm trong PHP sẽ bao gồm các thành phần:

  • Tên hàm: Là định danh của hàm, khi gọi hàm để sử dụng thông qua định danh này.
  • Tham số đầu vào: Một hàm có thể không có tham số đầu vào nào, hoặc có nhiều tham số đầu vào. Ví dụ, hàm tính tổng hai số thì sẽ có hai tham số đầu vào là hai toán hạng cần tính tổng.
  • Kết quả trả về: Hàm có thể trả về một kết quả trong một lần gọi hàm, nghĩa là hàm trong PHP không thể vừa trả về giá trị A vừa trả về giá trị B trong cùng một lần gọi hàm cụ thể. Khi chúng ta không chỉ định kết quả trả về, thì NULL sẽ được trả về tự động. Thông thường giá trị trả về của một hàm sẽ phụ thuộc vào tham số đầu vào của hàm.

 

Khai báo hàm trong PHP

function tenHam($thamSo1, $thamSo2, [...$thamSoN]){
    // Nội dung hàm
    return "Kết quả";
}

Trong đó:

- function là từ khóa dùng để khai báo hàm.

- return là từ khóa để chỉ định kết quả trả về của hàm.

 

 

Ví dụ khai báo hàm không có tham số đầu vào: hàm lấy timestamp của thời điểm hiện tại

function getCurrentTime(){
    return time();
}

 

Ví dụ khai báo hàm với 1 tham số đầu vào: hàm kiểm tra một số có phải là số lẻ hay không

function isOddNumber($number){
    return ($number % 2 == 1);
}

 

Ví dụ khai báo hàm với nhiều tham số: hàm tính tổng của 3 số

function getTotal($number1, $number2, $number3){
    return $number1 + $number2 + $number3;
}

 

Gọi và sử dụng hàm trong PHP

Khi cần sử dụng hàm, chúng ta sẽ gọi định danh của hàm (tên hàm) và truyền vào các tham số đầu vào tương ứng (nếu có).

Hãy cùng tham khảo các ví dụ sau:

Ví dụ 1: Gọi hàm không có tham số đầu vào:

function getCurrentTime(){
    return time();
}
echo getCurrentTime(); // Kết quả 1626528038

Lưu ý: kết quả của hàm này là phụ thuộc vào thời điểm bạn gọi hàm nhé.

 

Ví dụ 2: Gọi hàm với 1 tham số đầu vào:

<?php
function isOddNumber($number){
    return ($number % 2 == 1);
}
var_dump(isOddNumber(3)); // Kết quả là bool(true)
var_dump(isOddNumber(6)); // Kết quả là bool(false)

 

Ví dụ 3: Gọi hàm với 3 tham số:

function getTotal($number1, $number2, $number3){
    return $number1 + $number2 + $number3;
}

echo getTotal(1,4,5); // Kết quả là 10
echo getTotal(3,1,1); // Kết quả là 5

 

Giá trị mặc định trong tham số đầu vào của hàm trong PHP

Chúng ta có thể đặt giá trị mặc định cho các tham số đầu vào của hàm trong PHP, xét ví dụ sau:

function phepTru($number1, $number2 = 0){
    return $number1 - $number2;
}
echo phepTru(1); // Kết quả là 1 (1 - 0 = 1)
echo phepTru(3, 1); // Kết quả là 2 (3 - 1 = 2)

Trong ví dụ này, khi chúng ta không truyền giá trị vào cho biến $number2 khi gọi hàm phepTru() thì biến $number2 sẽ được đặt giá trị mặc định là 0.

 

Biến trong phạm vi hàm của PHP

Khi chúng ta khai báo biến trong nội dung hàm, thì ở ngoài phạm vi hàm, các biến đó sẽ không còn tồn tại.

Xét ví dụ sau:

function phepTru($number1, $number2){
    $ketQua = $number1 - $number2;
    return $ketQua;
}
echo phepTru(3, 1); // Kết quả là 2 (3 - 1 = 2)
var_dump($ketQua); // Kết quả là NULL (biến $ketQua không còn tồn tại vì chúng ta đang ở ngoài phạm vi của hàm phepTru)

 

Biến toàn cục trong phạm vi hàm của PHP

Biến toàn cục là biến được khai báo trong phạm vi toàn cục, có hiệu lực trong toàn bộ chương trình trừ khi bị che. Mặc định các hàm trong PHP sẽ che đi các biến toàn cục. Nghĩa là trong phạm vi của hàm, chúng ta không thể sử dụng được các biến toàn cục theo cách thông thường.

Xét ví dụ sau:

$bien1 = 12;
function kiemTraBienToanCuc(){
    var_dump($bien1); // Kết quả là NULL
}
kiemTraBienToanCuc();

Trong ví dụ này, biến $bien1 đã được khai báo và gán giá trị là số nguyên 12, nhưng trong phạm vi của hàm kiemTraBienToanCuc() thì $bien1 đã bị che đi.

 

Để sử dụng biến toàn cục trong phạm vi hàm của PHP, ta có thể làm theo cách của ví dụ sau:

$bien1 = 12;
function kiemTraBienToanCuc(){
    global $bien1;
    var_dump($bien1); // Kết quả là int(12)
}
kiemTraBienToanCuc();

Trong ví dụ này, chúng ta đã bỏ đi việc che biến toàn cục $bien1 trong hàm kiemTraBienToanCuc() bằng từ khóa global.

 

Chúng ta cũng có thể thay đổi giá trị của biến toàn cục ngay trong hàm của PHP, xét ví dụ sau:

$bien1 = 12;
function kiemTraBienToanCuc(){
    global $bien1;
    var_dump($bien1); // Kết quả là int(12)
    $bien1 = 6;
}
kiemTraBienToanCuc();
var_dump($bien1); // Kết quả là int(6)

Trong ví dụ này, chúng ta đã thay đổi giá trị của $bien1 từ 12 thành 6, ngay trong nội dung của hàm kiemTraBienToanCuc().

 

Tham trị và tham chiếu trong tham số đầu vào của hàm trong PHP

Xét ví dụ về tham trị trong tham số đầu vào của hàm trong PHP:

function swapVary($bien1, $bien2){
    $temp = $bien1;
    $bien1 = $bien2;
    $bien2 = $temp;
    var_dump($bien1); // Kết quả là 4
    var_dump($bien2); // Kết quả là 3
}
$so1 = 3; 
$so2 = 4; 
swapVary($so1, $so2);
var_dump($so1); // Kết quả là 3
var_dump($so2); // Kết quả là 4

Trong ví dụ này, sau khi gọi hàm swapVary thì giá trị của $so1$so2 vẫn được giữ nguyên.

 

Xét ví dụ về tham chiếu trong tham số đầu vào của hàm trong PHP:

function swapVary(&$bien1, &$bien2){
    $temp = $bien1;
    $bien1 = $bien2;
    $bien2 = $temp;
    var_dump($bien1); // Kết quả là 4
    var_dump($bien2); // Kết quả là 3
}
$so1 = 3; 
$so2 = 4; 
swapVary($so1, $so2);
var_dump($so1); // Kết quả là 4
var_dump($so2); // Kết quả là 3

Trong ví dụ này, sau khi gọi hàm swapVary thì giá trị của $so1$so2 đã bị thay đổi (sự thay đổi này được thực hiện bên trong hàm swapVary).

Hãy để ý khi khai báo hàm swapVary, chúng ta đã thêm từ khóa & ngay trước $bien1$bien2.

Tạo vào 04/03/2023, Cập nhật 1 năm trước

Bình luận

Hãy là nguời đầu tiên bình luận về Hàm trong PHP, định nghĩa, khai báo và gọi hàm trong PHP

Bài viết có vấn đề ? Hãy cho chúng tôi biết.

Gửi báo cáo sai phạm
Bạn đang đọc bài viết Hàm trong PHP, định nghĩa, khai báo và gọi hàm trong PHP

Hãy để nguồn Suta.media khi phát hành lại nội dung này !