[PHP] – Bài 5: Xây dựng hàm trong PHP

0

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách xây dựng hàm trong PHP. Đồng thời, mình cũng sẽ hướng dẫn một số vấn đề liên quan đến hàm như Tham số – Đối số, Tham trị – Tham chiếu.

Video Xây dựng hàm trong PHP

Hướng dẫn chi tiết

Xây dựng hàm cơ bản trong PHP

Cấu trúc hàm

function ham(){
    echo "Demo về hàm";
}
ham();

Truyền biến vào hàm

function ham_co_tham_so($tham_so){
    echo $tham_so;
}
ham_co_tham_so(12);

Giá trị mặc định cho tham số

function ham_co_tham_so($tham_so_1 = 0, $tham_so_2 = 0){
    echo $tham_so_1 + $tham_so_2;
}
ham_co_tham_so();

Tham số – Đối số

Tham số là biến được định nghĩa trong hàm.

Đối số là giá trị được truyền vào hàm.

Tham trị và Tham chiếu

Tham trị không bị thay đổi giá trị sau khi được truyền vào và xử lý trong hàm.

Tham chiếu có giá trị sẽ thay đổi sau khi được truyền vào và xử lý trong hàm.

$du_lieu_goc = 5;
function ham_tham_tri($tham_so){
    $tham_so++;
    echo $tham_so;
}
ham_tham_tri($du_lieu_goc);
echo $du_lieu_goc;
// gia tri $du_lieu_goc truyền vào bị thay đổi
function ham_tham_chieu(&$tham_so){
    $tham_so++;
    echo $tham_so;
}
ham_tham_chieu($du_lieu_goc);
echo $du_lieu_goc;

Hàm không định danh Anonymous Function – Lambda

Sử dụng

+ Gán cho 1 biến

// gán cho biến
$ham = function($tham_so){
   echo $tham_so;
};
$ham(1);

+ Gán cho 1 mảng

// gán cho mảng
$arr_func = array(
   function($tham_so){
      echo $tham_so;
   },
   function($tham_so){
      echo $tham_so++;
   }
);
$arr_func[1](10);

+ Sử dụng như hàm gọi lại (Callback)

FBI WARNING - dưới đây có QUẢNG CÁO

Bạn MUỐN TĂNG KÍCH THƯỚC website, nhanh, rẻ và dễ sử dụng có thể chọn hosting Azdigi nhé.
Link đăng ký: https://my.azdigi.com/aff.php?aff=1612
Nếu các bạn click và đăng ký hosting từ link trên, mình sẽ có một ít tiền để duy trì.
$mang = array( '1' , 2 , 3, 4 );
array_walk($mang, function($key, $value){
    echo 'phần tử '.$key.' có giá trị là '.$value;
});
$call_back_func = function($key, $value){
    echo 'phần tử '.$key.' có giá trị là '.$value;
};
array_walk($mang, $call_back_func);

+ Closures – có khả năng truy cập các biến bên ngoài nó

$message = 1;
// không dùng "use", không chạy được
function example() {
    echo $message;
}
example();
// Closures
$example = function () use ($message) {
    $message++;
    echo $message;
};
$example();
echo $message;
$example = function () use (&$message) {
    $message++;
    echo $message;
};
$example();
echo $message;

Ứng dụng

Kết hợp callback và closures

$he_so = 2;
$day_so = [1, 2, 3, 4];
array_walk($day_so, function ($gia_tri) use ($he_so) {
  echo $gia_tri * $he_so;
});

Xem thêm Anonymous functions tại PHP net: https://www.php.net/manual/en/functions.anonymous.php

Code mẫu: Download

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Liên hệ

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố.