Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Trả về tham chiếu (Return by Reference) trong PHP

Giới thiệu

Trong PHP, một function có thể trả về một tham chiếu (reference). Điều này hữu ích để tìm ra biến nào tham chiếu nên được liên kết. Để định nghĩa function trả về tham chiếu, tiền tố tên function bằng dấu &.

Ví dụ

Function trả về tham chiếu

<?php
function &myfunction() {
    static $x = 10;
    echo "x Inside function: " , $x , "\n";
    return $x;
}
$a = &myfunction(); // chứa tham chiếu đến $x trong function
echo "returned by reference: " , $a , "\n";
$a = $a + 10; // tăng biến bên trong function luôn
$a = &myfunction();
?>

Kết quả

x Inside function: 10
returned by reference: 10
x Inside function: 20

Method trả về tham chiếu

Class cũng có thể có method trả về tham chiếu. Điều này cho phép thay đổi giá trị private property từ bên ngoài class.

<?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();
?>

Kết quả

Value of private property: 100