Trong PHP, chúng ta có thể tự xây dựng các hàm của mình. Trước khi sử dụng, chúng ta cần phải tiến hành cài đặt hàm.
Cú pháp cài đặt một hàm có thể được tóm tắt như sau:
PHP Code:
function ten_ham (thamso1, thamso2, ..., thamson)
{// đoạn chương trình xử lý dữ liệu bên trong hàm
return gia_tri;
}
- function là từ khóa,
- ten_ham là tên hàm do chúng ta tự đặt. Tên hàm thường sử dụng các ký hiệu chữ cái, chữ số và dấu gạch dưới.
- Các thamsoi là các tham số đưa vào. Các tham số khi khai báo thường ở dưới dạng các biến, còn khi sử dụng thì có thể là biến, hằng, hay một giá trị nào đó. Một hàm có thể không có hoặc có nhiều tham số.
- Giá trị gia_tri sau từ khóa return là giá trị trả về sau khi gọi hàm. Giá trị này có thể là giá trị của một biến, hay một giá trị cụ thể nào đó.
Ví dụ: Tôi xây dựng một hàm đơn giản để trả về dòng chữ "Xin chào":
PHP Code:
function chao()
{
return "<B>Xin chào</B>";
}
Một bảng trong HTML được cấu thành từ các cặp thẻ <table>, <tr>, <td> lồng vào nhau, ở mức độ nhỏ nhất của cấu trúc trên là một ô.
Một ô có thể có chứa thông tin (nằm giữa các cặp thẻ <td></td>), có thể chứa các thuộc tính định dạng (style)... Việc ngồi gõ đi gõ lại mấy cái thẻ HTML đủ làm cho chúng ta phát chán.
Ở đây tôi sẽ xây dựng một hàm để tự động sinh ra nội dung của một ô. Hàm này có 2 tham số đầu vào dạng chuỗi là nội dung và định dạng thẻ:
PHP Code:
<?function viet_o ($noidung,$dinhdang)
{
$td_tmp="<td " . $dinhdang . ">" . $noidung . "</td>";
return $td_tmp;
}?>
PHP Code:
<table>
<tr>
<?viet_o("STT","");?> <?viet_o("Họ tên","");?> <?viet_o("Ngày sinh","");?> </tr>
<tr>
<?viet_o("1","");?> <?viet_o("Lê Nguyên Sinh","");?> <?viet_o("01/04/2006","");?> </tr>
<tr>
<?viet_o("2","");?> <?viet_o("Thử một tí","");?> <?viet_o("01/01/2007","");?> </tr>
</td>
PHP Code:
<?function viet_o ($noidung,$dinhdang)
{
$td_tmp="<td " . $dinhdang . ">" . $noidung . "</td>";
return $td_tmp;
}
function viet_cot ($noidung,$dinhdang)
{
$td_tmp="<tr " . $dinhdang . ">" . $noidung . "</tr>";
return $td_tmp;
}?>
<?function viet_bang ($noidung,$dinhdang)
{
$td_tmp="<table " . $dinhdang . ">" . $noidung . "</table>";
return $td_tmp;
}
// Tạo một bảng tương tự ở trên nhưng dùng các hàm vừa xây dựng$noidung = viet_cot(viet_o("STT","") . viet_o("Họ tên","") . viet_o ("Ngày sinh",""),"");$noidung .=viet_cot(viet_o("1","") . viet_o("Lê Nguyên Sinh","") . viet_o ("01/04/2006",""),"");$noidung .=viet_cot(viet_o("2","") . viet_o("Thử một tí","") . viet_o ("01/01/2007",""),"");$noidung = viet_bang($noidung,"");
echo $noidung;?>
II. Các tham số mặc định và các tham số tùy chọn
Khi đưa các tham số vào hàm, chúng ta có thể thiết lập các tham số mặc định. Các tham số này được đặt giá trị ngay khi xây dựng hàm.
Ví dụ:
PHP Code:
function viet_o ($noidung, $dinhdang="")
{
$td_tmp="<td " . $dinhdang . ">" . $noidung . "</td>";
return $td_tmp;
}
Với ví dụ trên, ta có thể gọi hàm viet_o theo một trong hai cách sau:
viet_o("Thử một tí","");
họăc
viet_o("Thử hai tí");//Trường hợp này tham số tùy chọn là tham số mặc định được đặt là rỗng ở phía bên phải của danh sách tham số.
III. Phạm vi hoạt động của các biến trong và ngoài hàm
Chú ý rằng khi ta sử dụng các biến bên trong hàm, mặc định, các biến đó được coi là biến cục bộ của hàm, chứ không phải là biến toàn cục của chương trình.
Để thiết lập hoặc lấy giá trị của các biến toàn cục, chúng ta có thể sử dụng 1 trong 2 cách sau đây:
Cách 1: Dùng khai báo GLOBAL để khai báo các biến toàn cục
Cách 2: Sử dụng mảng $GLOBALS["tên_biến_toàn_cục"].
Ví dụ:
PHP Code:
<?
$x=1;$y=3;
function cong ()
{
return $x+$y;
}?>
Để chương trình chạy đúng, ta phải làm như sau:
Cách 1:
PHP Code:
<?
$x=1;$y=3;
function cong ()
{
GLOBAL $x, $yreturn $x+$y;
}?>
PHP Code:
<?
$x=1;$y=3;
function cong ()
{
return $GLOBALS["x"]+$GLOBALS["y"];
}?>
0 nhận xét:
Đăng nhận xét