10/10/2018, 10:35
Bạn nào giúp mình cái này với. (chẳng biết đặt tên nó là gì nữa)
Mình đang học lập trình trên php. mình thắc mắc cái dấu & đứng trước các hàm các biến trong php có chức năng gì. Cái này mình còn lơ mơ quá lên mong các bạn giúp.
Bài liên quan





http://www.php.net/manual/en/languag...ences.pass.php
Lấy ví dụ bạn có 2 hàm:
//add_1 không có & function add_1($a){ $a++; } // add_2 có & function add_2(&$a){ $a++; } $b=4; add_1($b); echo $b; //kết quả =4 //bạn thấy sau khi gọi hàm add_1, biến b vẫn không thay đổi vì hàm add_1 chỉ lấy giá trị của b mà dùng thôi add_2($b); echo $b; //kết quả =5 //sau khi gọi add_2, giá trị của b thay đổi (do trong hàm thay đổi, thực chất là thay đổi $a). Như vậy, khi dùng &, hàm sẽ tạo 1 bản sao của biến truyền vào và mọi thao tác liên quan đến tham biến này cũng sẽ ảnh hưởng đến biến truyền vào (nói đơn giản, $a là đại diện cho $b)VB.NET: có byval => dùng giá trị (tham trị); không byval => dùng biến (tham biến)
PHP: có & => dùng tham biến; không & => tham trị
đây gọi là truyền tham trị
function add_1($a){
}
còn đây là truyền tham chiếu
function add_2(&$a){
}