リファレンスの説明
日本語版PHP マニュアルトップへ 英語版PHP Manualトップへ

リファレンスを返す

リファレンスを返すことは、結合する変数を見付けるために関数を使用し たい場合に便利です。パフォーマンスを向上させるためだけの目的で この機能を用いることはやめてください。 そのようなことをしなくても、PHP エンジンが自動的に最適化を行います。 リファレンスを返すのは、そうすべき妥当な理由がある場合に限られます! リファレンスを返す場合、次の構文を使用して下さい。

<?php
class foo {
    public 
$value 42;

    public function &
getValue() {
        return 
$this->value;
    }
}

$obj = new foo;
$myValue = &$obj->getValue(); // $myValue は $obj->value へのリファレンス、つまり 42 となります
$obj->value 2;
echo 
$myValue;                // $obj->value の新しい値である 2 を表示します
?>
この例では、関数 getValue により返された オブジェクトのプロパティが、設定されます。リファレンス構文を 使用しない場合のようにコピーとなるわけではありません。

注意: パラメータを渡す場合と異なり、ここでは、通常のようにコピーでは なくリファレンスで返り値を指定し、リファレンス結合を指定するために 両方の場所で & を使用する必要があります。 $myValue について行われたのは、通常の代入ではありません。

注意: 以下のような形式で関数からリファレンスを返そうとした場合、 return ($this->value); これは、あなたが望んでいるように の結果を返してくれることはありません。 可能なことは、値へのリファレンスを返すことができるということだけで、 それ以外の何者でもありません。 PHP 4.4.0 および PHP 5.1.0 以降では、式の結果や new 演算子の結果をそのまま返そうとした場合に E_NOTICE エラーが発生します。

PHPメニュー

スポンサー

人材派遣・アルバイト

日本全国の人材派遣会社とアルバイト紹介サイトを集めたディレクトリです。派遣やアルバイトをお探しの方はご参考に。

会社設立

株式会社の設立や電子定款公証を専門とする方の紹介サイト。

風俗営業許可(バー・キャバクラ等)

バーやキャバレー、クラブやスナック、パチンコ店やダーツバー等を始める場合に必要な風俗営業許可を専門に扱うサイトです。

産業廃棄物収集運搬業許可

産業廃棄物を取扱う事業の中でも収集運搬を専門に許可取得代行を行う専門家を紹介するサイトです。建築関係で事業拡大を図りたい場合にご覧下さい。

NPO法人設立・助成金

NPO法人の設立や運営、助成金の申請を専門にするプロ集団です。


リファレンスの説明
日本語版PHP マニュアルトップへ 英語版PHP Manualトップへ