PHP関数リファレンス

WBOY
リリース: 2016-06-23 13:19:45
オリジナル
1401 人が閲覧しました

function &referenceFunc() {    static $foo = '';    return $foo;        }//将静态变量$foo的引用传递给$name$bar = &referenceFunc();$bar .= "hello";//作为普通函数调用echo referenceFunc();//删掉引用unset($bar);//作为普通函数调用$bar = referenceFunc();$bar .= " world";//$foo并不会发生变化echo referenceFunc();
ログイン後にコピー

PHP の関数参照は、関数の戻り値の参照を受け取り側の変数に返すものですが、関数の宣言時や呼び出し時に値演算子 & を使用する必要がありますが、呼び出し時に通常の関数として直接使用することもできます。 (現時点ではそのような関数はありません) 関数参照の特徴、受け取った変数はメモリ内の新しいアドレスを指します)、その他にはパラメーター参照 (値渡し/参照渡し)、オブジェクト参照が含まれます

クラスのカプセル化を突破する

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();
ログイン後にコピー

もちろん、関数参照はこれらのことを行うために使用されるわけではありません。関数参照の主な目的は、操作を容易にするために現在のオブジェクトのプロパティに追加のエイリアスをバインドできるようにすることです

「&」演算子を使用する必要があることに注意してください定義または呼び出し時に使用されます。それ以外の場合は、通常の関数またはメソッドとして呼び出されます

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート