Giới thiệu
Trong PHP , một hàm cũng có thể được thực hiện để trả về một tham chiếu. Điều này rất hữu ích để tìm ra biến mà một tham chiếu nên được ràng buộc. Để xác định một hàm trả về tham chiếu, hãy đặt tiền tố tên của nó bằng & ký tên.
Ví dụ
Trong ví dụ sau, hàm my function () được định nghĩa để trả về bằng tham chiếu. Nó chứa một biến tĩnh có tham chiếu được trả về và gán cho một biến toàn cục. Giá trị của biến tĩnh cục bộ cũng sẽ thay đổi bên ngoài tham chiếu của nó được gán với giá trị khác.
Ví dụ
<?php function &myfunction(){ static $x=10; echo "x Inside function: ",$x,"\n"; return $x; } $a=&myfunction(); //contains reference to 4x in function echo "returned by reference: ", $a, "\n"; $a=$a+10; //increments variable inside function too $a=&myfunction(); ?>
Đầu ra
Ví dụ này cho kết quả sau
x Inside function: 10 returned by reference: 10 x Inside function: 20
phương thức trả về tham chiếu
Một lớp cũng có thể có một phương thức có thể trả về tham chiếu. Điều này cho phép thay đổi giá trị của biến cá thể riêng tư từ bên ngoài lớp
Ví dụ
<?php class myclass{ private $val; function __construct($x){ $this->val=$x; } function &getbyref(){ return $this->val; } function getbyval(){ return $this->val; } } $a=new myclass(10); $b=&$a->getbyref(); $b=100; echo "Value of private property: ", $a->getbyval(); ?>
Đầu ra
Kết quả của script trên như sau
Value of private property: 100