Trong PHP ngoài các hàm sẵn có còn cho phép bạn tự xây dựng hàm theo với tên và chức năng do bạn tự xây dựng, cấu trúc:
<?
function tenham(đối số)
{
//các câu lệnh thực hiện trong hàm
}
// để gọi lại hàm đã xay dựng chỉ
tenham(gía trị của đối số);
?>
ví dụ :
<?
$a = 5;
function printa($int)
{
print 'giá trị của a: '.$int;
}
printa($a); //kquả: giá trị của a: 5
?>
**Một số chú ý khi xây dựng function
<?
$a = 5;
function printa($int)
{
print 'giá trị của a: '.$a;
}
printa();//kết quả: giá trị của a: (rỗng)
?>
==>Một biến nằm ngoài function giá trị của nó không được sử dụng trong function
Để sử dụng lại giá trị biến $a ta viết lại như sau:
<?
$a = 5;
function printa()
{
global $a; // câu lệnh này để lấy giá trị toàn cục $a vào trong functioin
print 'giá trị của a: '.$a;
}
printa(); //kquả: giá trị của a: 5
?>
==> các hàm có thể có đối số hoặc không có (tùy theo mục đích sử dụng)
+ Sự thay đổi giá trị của biến qua hàm
<?
$a = 10;
function changea($int)
{
$int += 5;
print 'Giá trị biến ở trong hàm: '. $a;
}
changea($a);
//kết quả: Giá trị biến ở trong hàm: 15
print $a; //kết quả: 10
?>
==>Trong hàm changea($a) giá trị của biến $a là $a = $a+5, tuy nhiên khi ra khỏi hàm changea($a) thì giá trị của $a vẫn không thay đổi
Bạn có thể làm cho giá trị của $a thay đổi sau khi qua hàm xử lý:
<?
$a =10;
function changea(&$int) // có dấu & trước biến $a
{
$a = $a+5;
print $a;
}
changea($a);//kết quả: 15
print $a; //kết quả: 15
?>
Một chú ý nữa là các biến trong phần đối số của hàm có thể trùng với biến ngoài hàm, nhưng nó là hoàn toàn khác nhau, ví dụ:
<?
$a = 10;
function printa($a)
{ print $a;
}
//2 giá trị $a trong và ngoài function khác nhau.
printa(5); //kquả: 5
?>
Tác giả: TG
Tác giả:NguyÅn Minh Tân
