PHP 函数引用

WBOY
Lepaskan: 2016-06-23 13:19:45
asal
1386 orang telah melayarinya

function &referenceFunc() {    static $foo = '';    return $foo;        }//将静态变量$foo的引用传递给$name$bar = &referenceFunc();$bar .= "hello";//作为普通函数调用echo referenceFunc();//删掉引用unset($bar);//作为普通函数调用$bar = referenceFunc();$bar .= " world";//$foo并不会发生变化echo referenceFunc();
Salin selepas log masuk

PHP的函数引用是将函数返回值的引用返回给接收变量,函数声明or调用时都需要使用取值运算符 &,但调用时也可以作为普通函数直接使用(此时便没有的函数引用的特性,接收变量会在指向内存新的地址),其他的还有参数引用(值传递/引用传递),对象引用

突破类封装

class Reference {    private $foo;    public function &referenceFoo() {        return $this->foo;    }        public function getFoo() {        echo $this->foo . "<br>";    }}$obj = new Reference();//将私有变量绑定在了一个普通变量$bar上$bar = &$obj->referenceFoo();//外部操作私有变量$bar .= "access the private var in outside";//输出'access the private var in outside'$obj->getFoo();
Salin selepas log masuk

当然函数引用不是用来做这些事情的,函数引用主要用处是让你可以为当前对象的某一属性绑定一个额外的别名方便操作

注意定义或调用时都要使用 "&" 运算符,否则则是作为普通函数or方法调用

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan