ホームページ  >  記事  >  バックエンド開発  >  PHPにおける変数変数名の使い方を詳しく解説

PHPにおける変数変数名の使い方を詳しく解説

怪我咯
怪我咯オリジナル
2017-06-20 09:45:161245ブラウズ

変数 変数名 は、プログラミングに大きな利便性をもたらす場合があります。つまり、変数名に動的に名前を付けて使用することができます。通常、変数は次のステートメントを通じて名前が付けられます:

 <?php 
    $a = &#39;hello&#39;; 
    ?>

変数 variablename は、変数の値を変数の名前として使用することを指します。上記の例では、以下のように 2 つの $ 記号を使用して、変数の名前に hello を設定できます。

<?php 
    $$a = &#39;world&#39;; 
    ?>

上記の 2 つのステートメントにより、「hello」を含む変数 $a と「world」を含む変数 $hello の 2 つの変数が定義されます。 したがって、次の言語の出力:

 <?php 
    echo "$a ${$a}"; 
    ?>

は、次のステートメントの出力とまったく同じです:

<?php 
    echo "$a $hello"; 
    ?>

両方とも、hello world を出力します。

配列の可変変数名を使用するには、あいまいさの問題を解決する必要があります。つまり、$$a[1] を記述する場合、パーサーは $a[1] を変数として扱うことを意味するのか、それとも $$a [1] がこの変数を参照することを意味するのかを理解する必要があります。索引。このあいまいさを解決するための構文は、最初のケースでは ${$a[1]} を使用し、2 番目のケースでは ${$a}[1] を使用します。

クラスプロパティには、変更可能なプロパティ名を介してアクセスすることもできます。変更可能なプロパティ名は、呼び出しが行われた変数のアクセス スコープから取得されます。たとえば、が$foo->$barのような場合、ランタイムはローカルの変数スコープで変数$barを検索し、その値が$のメンバーとして使用されます。 foo オブジェクトのプロパティ名。 $bar が配列の場合にも使用できます。

例 1 変数変数名

<?php 
    class foo { 
        var $bar = &#39;I am bar.&#39;; 
    } 
 
    $foo = new foo(); 
    $bar = &#39;bar&#39;; 
    $baz = array(&#39;foo&#39;, &#39;bar&#39;, &#39;baz&#39;, &#39;quux&#39;); 
    echo $foo->$bar . "n"; 
    echo $foo->$baz[1] . "n"; 
    ?>

上記の例は次の結果を出力します:

I am bar.
I am bar.

警告

変数変数名はPHP関数やクラス内のスーパーグローバル配列変数では使用できないことに注意してください。変数 $this も、動的に名前を付けることができない特殊な変数です。

以上がPHPにおける変数変数名の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。