Tham trị và tham chiếu trong PHP
Trong PHP, để cho hàm trở nên linh động hơn, ta nên khai báo các tham số trong phần khai báo của hàm. Với mỗi giá trị truyền vào khác nhau cho hàm, kết quả trả về của hàm sẽ khác. Để truyền giá trị cho tham số bên trong hàm, ta có 2 cách: Truyền tham chiếu và truyền tham trị. Để tìm hiểu về tham chiếu và tham trị trong php, mời bạn cùng eLib tham khảo bài viết dưới đây.
Mục lục nội dung
1. Tham trị
Tham trị là:
- Là một biến thông thường, khi chúng ta tác động và thay đổi nó ở bên trong hàm thì khi kết thúc hàm, biến đó lại trở về vị trí ban đầu.
- Sử dụng khi bạn muốn truyền giá trị vào hàm mà khi kết thúc hàm giá trị truyền vào không thay đổi.
Ví dụ:
//Tham trị
<?php
$a = 5;
function tong($b)
{
$b += 10;
}
tong($a); //15
echo $a; //5
Giải thích: Khi gọi $a ở trong hàm tong() thì $a có giá trị là 10. Nhưng gọi $a ở ngoài hàm thì nó vẫn giữ nguyên giá trị là 5.
2. Tham chiếu
Tham chiếu là:
- Là một biến chiếu tới vùng nhớ của một biến khác.
- Hai biến này sử dụng chung một vùng nhớ chứa giá trị => do đó khi sử dụng phép gán cho biến này thì giá trị của biến kia cũng sẽ thay đổi theo.
- Tham chiếu trong PHP có ký hiệu là “&”.
- Sử dụng khi bạn muốn truyền tham số vào hàm và sau khi hàm kết thúc thì giá trị của tham số cũng sẽ thay đổi theo.
- Ngoài ra, trong trường hợp số lượng tham số quá lớn và muốn tốc độ nhanh, tránh việc cấp phát và sao chép dữ liệu thì nên dùng tham chiếu.
Ví dụ:
//Tham chiếu
<?php
$a = 5;
function tong(&$b)
{
echo $b += 10;
}
tong($a); //15
echo $a; //15
Giải thích: Vì truyền tham số theo kiểu tham chiếu, nên giá trị của $a khi được gọi trong hàm tong() sẽ được cộng dồn với 10, cho nên sau khi kết thúc hàm tong() thì giá trị của $a sẽ là 15.
3. Đối số có độ dài biến đổi trong PHP
PHP hỗ trợ chức năng đối số có độ dài biến đổi. Nó có nghĩa là bạn có thể chuyền 0, 1 hoặc n đối số trong hàm. Để làm như vậy, bạn cần sử dụng 3 dấu ba chấm (...) trước tên đối số.
Khái niệm 3 dấu chấm được thực hiện cho đối số có chiều dài thay đổi kể từ PHP 5.6.
Ví dụ:
<?php
function add(...$numbers)
{
$sum = 0;
foreach ($numbers as $n)
{
$sum += $n;
}
return $sum;
}
echo add(1, 2, 3, 4);
?>
Kết quả:
10
Trên đây là bài viết của eLib.VN về cách gọi tham chiếu và tham trị trong PHP. Tham chiếu, tham trị quả thật rất hữu dụng trong một số trường hợp tuy rằng khi sử dụng tham chiếu thì xét về hiệu năng có chậm tham trị một chút nhưng không đáng kể. Chúng tôi hy vọng qua bài này sẽ làm tiền đề cho các bạn đam mê giải thuật tìm tòi thêm. Chúc các bạn thành công!
Như vậy là chúng ta đã hoàn thành nội dung kiến thức về "PHP Function". Để củng cố và nắm vững nội dung đã học, mời bạn cùng thử sức với "Bộ Câu hỏi Trắc Nghiệm Online Ôn Tập Lập trình PHP có đáp án chi tiết"
Tham khảo thêm
- doc Hàm trong PHP
- doc Đệ quy trong PHP