[PHP] – Bài 5: Xây dựng hàm trong PHP
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.
Nội dung chính
Video Xây dựng hàm trong PHP
Hướng dẫn chi tiết
"Thăm ngàn, kẹp ngần nhưng vẫn không đủ chai ni (trả nợ)" nên dành vài dòng cho QUẢNG CÁO Các bạn cần hosting PHP - WordPress nhanh, rẻ và dễ sử dụng có thể chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký hosting từ link quảng cáo, mình sẽ có một ít tiền để duy trì và "chai ni".
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ố
"Thăm ngàn, kẹp ngần nhưng vẫn không đủ chai ni (trả nợ)" nên dành vài dòng cho QUẢNG CÁO Các bạn cần hosting PHP - WordPress nhanh, rẻ và dễ sử dụng có thể chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký hosting từ link quảng cáo, mình sẽ có một ít tiền để duy trì và "chai ni".
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)
$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.