Hàm tự tạo trong PHP 2007-07-09 09:28:20


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

Tra loi 0 comment(s) NguyÅn Minh Tân 2007-07-09 09:28:20