Việc sử dụng hàm trong php nó vô cùng quan trọng. Vì đây chính là công cụ để xây dựng những chức năng trong website tiện lợi hơn và tối ưu code. Trong bài viết này tôi hướng dẫn đến bạn tất tần tật những thứ liên quan đến mảng.

#1. Hàm là gì? Tại sao cần sử dụng hàm

Hàm trong php là một đoạn code được đóng gói lại để thực thi một chức năng nhất định. Một hàm sau khi tạo ra có thể sử dụng lặp đi lặp lại nhiều lần.

Ví dụ: Giả sử chúng ta có 2 số 15 và 26, yêu cầu bài toán cần thiện thị ra màn tính chẵn lẻ của mỗi số.

Nếu theo cách thông thường không sử dụng hàm thì cần phải làm như sau:

$n = 15;
$m = 26;
// Kiểm tra chẵn lẻ $n
if ($n % 2 == 0)
    echo "{$n} là số chẵn";
else
    echo "{$n} là số lẻ";

echo "<br>";

// Kiểm tra chẵn lẻ $m
if ($m % 2 == 0)
    echo "{$m} là số chẵn";
else
    echo "{$m} là số lẻ";

Như bạn nhìn thấy, để kiểm tra 2 số mà đã mất rất nhiều dòng code như trên, nếu mà kiểm tra 100, 1000 số thì chắc code chết 🙂

Tuy nhiên khi đưa hàm vào bài toán này thì mọi thứ nhẹ nhàng hơn rất nhiều.

function check_even($n){
    if ($n % 2 == 0)
        echo "{$n} là số chẵn <br>";
    else
        echo "{$n} là số lẻ <br>";
}

$n = 21;
$m = 36;
check_even($n);
check_even($m);

Khi đã định nghĩa ra hàm check_odd để triểm tra số chẵn chúng ta có thể kiểm tra bất kỳ số hàm với cách gọi hàm như bên trên – nó ngắn gọn hơn rất nhiều so với cách code không sử dụng hàm.

Ok, bây giờ chúng ta cùng nhau học cách để tạo và sử dụng hàm.

#2. Cú pháp định nghĩa hàm

Bên dưới là cú pháp để tạo ra một hàm

function function_name(){<br>    // Code xử lý hàm<br>}

Trong đó function_name là tên hàm bạn muốn đặt. Phần tên bạn đặt theo một vài nguyên tắc bên dưới:

  • Nên viết bằng tiếng anh và phản ánh được chức năng của hàm.
  • Bao gồm các ký tự A-Z, a-z, 0-9, dấu gạch dưới (_).
  • Không được bắt đầu bởi một số.
  • Nếu có 2 từ trở lên nên có dấu hiệu phân biệt 2 từ để dễ đọc dễ nắm bắt. Bạn có thể sử dụng in hoa ký tự đầu tiên của từ tiếp theo (checkLogin()) hoặc 2 từ cách nhau bởi dấu gạch dưới ( check_login() ).

Một số tên hàm bạn có thêm tham khảo

check_login() // Kiểm tra login
update_cart() // Cập nhật giỏ hàng
redirect_url()// Hàm chuyển hướng
show_array() // Hàm hiển thị dữ liệu mảng

#3. Cách gọi hàm

Bạn gọi hàm bằng cách viết tên hàm kèm thêm tham số nếu có

function function_name($n){
    // Code xử lý hàm
}

function_name();

Ví dụ:

function check_even($n){
    if ($n % 2 == 0)
        echo "{$n} là số chẵn <br>";
    else
        echo "{$n} là số lẻ <br>";
}

check_even(6);

Ở đoạn code trên tôi kiểm tra tính chẵn lẻ của số 6 và kết quả xuất hiện như bên dưới.

6 là số chẵn

Ok, nó đơn giản đúng không bạn, bây giờ tôi hướng dẫn tiếp đến bạn một phần quan trọng chính là tham số hàm.

#4. Cách sử dụng tham số hàm

Tham số hàm nó chính là đầu vào của hàm và nó được sử dụng trong quá trình xử lý của hàm và cho ra kết quả tương ứng.

Chẳng hạn để kiểm tra tính chẵn lẻ của một số thì trước hết chúng ta cần rõ ràng số đó là gì để kiểm tra đúng không?

Trong hàm xử lý chẳn lẻ của một số thì $n chính là tham số.

function check_even($n){
    if ($n % 2 == 0)
        echo "{$n} là số chẵn <br>";
    else
        echo "{$n} là số lẻ <br>";
}

Chú ý: Tùy vào từng trường hợp mà hàm có thể có một hoặc nhiều tham số.

Ví dụ hàm tìm số lớn hơn trong 2 số bất kỳ, với hàm này chúng ta cần phải sử dụng 2 tham số.

function max_number($m, $n){
    if($m > $n)
        echo "{$m} lớn hơn {$n}";
    else
        echo "{$m} bé hơn {$n}";
}
max_number(10,12);

Khi chạy code trên chúng ta được kết quả

10 bé hơn 12

Ok, vậy chắc bạn đã hiểu về tham số hàm rồi đúng không. Bạn nhớ tùy vào từng trước hợp, từng bài toán cụ thể mà số lượng tham số hàm khác nhau.

#6. Giá trị trả về của hàm

Giá trị trả về của hàm chính là kết quả mà chúng ta muốn nhận được sau khi kết thúc hàm.

Chúng ta có thể xuất giá trị trả về thông qua câu lệnh echo ngay bên trong hàm hoặc trả về giá trị thông qua câu lệnh return.

Với hàm check_even() chúng ta có thể có 2 kiểu trả về.

//Dữ liệu trả về qua echo
function check_even($n){
    if ($n % 2 == 0)
        echo "{$n} là số chẵn <br>";
    else
        echo "{$n} là số lẻ <br>";
}
//Dữ liệu trả về qua return
function check_even($n){
    if ($n % 2 == 0)
        return true;
    return false;
}

Trong ví dụ trên khi trả về mình quy định

  • Nếu $n là chẵn trả về true
  • Nếu $n là lẻ trả về false

Bạn lưu ý trong quá trình xử lý hàm và chạy câu lệnh return thì ngay lập tức hàm sẽ gửi dữ liệu hiện tại về và kết thúc quá trình xử lý hàm và không chạy những code đằng sau.

Trên thực tế hầu hết các hàm sẽ được trả dữ liệu về thông qua hàm return để phục vụ cho một xử lý khác.

Ngoài ra, nếu hàm trả về return bạn muốn in kết quả lên màng hình bạn cần echo trực tiếp lời gọi hàm hoặc echo một biến được nhận giá trị từ lời gọi hàm.

//Dữ liệu trả về qua return
function check_even($n){
    if ($n % 2 == 0)
        return true;
    return false;
}

echo check_even(12);

Chạy code trên có được kết quả như bên dưới

1

Lưu ý: Trong php khi echo giá trị true sẽ hiển thị 1

#7. Hàm gọi hàm trong Php

Trong những chương trình lớn thì không phải chỉ tạo ra một hàm mà có rất nhiều hàm. Những hàm được tạo ra với những mục tiêu khác nhau, thông thường cách hàm sẽ gọi nhau để tương hỗ cùng xử lý một chương trình lớn.

Ví dụ: Tính tổng các số nguyên chẵn trong Php, với yêu cầu này bạn có thể viết như bên dưới.

function check_even($n){
    if ($n % 2 == 0)
        return true;
    return false;
}

function sum_even($k){
    $total = 0;
    for($i = 1; $i<=$k; $i++){
        if(check_even($i))
            $total += $i;
    }
    return $total;
}

echo sum_even(10);

Bạn quan sát ở trên tôi đã tạo ra hàm sum_even() để tính tổng các số chẵn từ 1 đến $k. Điều đặc biệt là chức năng kiểm tra số chẵn tôi đã gọi hàm check_even() đã tạo ra trước đó để cùng tham gia vào quá trình xử lý.

Chạy chương trình trên được kết quả

30

Tổng kết: Qua bài viết này tôi tin rằng bạn đã hiểu được cách sử dụng hàm trong php. Việc của bạn cần ngồi xuống note lại những phần quan trọng và thực hành lại bài để nắm chắc kiến thức.


Phan Văn Cương Founder Unitop.vn