ホームページ >バックエンド開発 >PHPチュートリアル >PHPの変数名を配列やクラスで使用する際の注意点_PHPチュートリアル

PHPの変数名を配列やクラスで使用する際の注意点_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:05:481101ブラウズ

場合によっては、変数変数名はプログラミングに大きな利便性をもたらします。つまり、変数名に動的に名前を付けて使用することができます。通常、変数は次のステートメントによって名前が付けられます:
$a = 'hello';
変数変数名は、変数の値を変数の名前として使用することを指します。上記の例では、以下のように 2 つの $ 記号を使用して、変数の名前に hello を設定できます。
$$a = 'world';
上記の 2 つのステートメントを通じて、「hello」を含む変数 $a と「world」を含む変数 $hello の 2 つの変数が定義されます。 したがって、次の言語:
echo "$a ${$a}";
は、次のステートメントの出力とまったく同じです:
echo "$a $hello"; 両方とも次のように出力されます。こんにちは世界。
しかし、配列の可変変数名を使用するには、あいまいさの問題を解決する必要があります。つまり、$$a[1] を記述する場合、パーサーは $a[1] を変数として扱うことを意味するのか、それとも $$a [1] がこの変数を参照することを意味するのかを理解する必要があります。索引。このあいまいさを解決するための構文は、最初のケースでは ${$a[1]} を使用し、2 番目のケースでは ${$a}[1] を使用します。
クラス プロパティには、可変プロパティ名を通じてアクセスすることもできます。変数のプロパティ名は、呼び出しが行われた変数のアクセス スコープから取得されます。たとえば、式が $foo->$bar のような場合、ランタイムはローカル変数スコープで変数 $bar を検索し、その値が $foo オブジェクトのプロパティ名として使用されます。 $bar が配列の場合にも使用できます。



コードをコピーします

コードは次のとおりです: class foo {
var $bar = '私は bar です。'
$foo = new foo(); bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'qux');
echo $foo-> $baz[ 1] . "n";
?>


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



コードは次のとおりです:


I am bar.
I am bar.
注意:

変数変数名は、PHP 関数およびクラスのスーパー グローバル配列変数には使用できません。変数 $this も、動的に名前を付けることができない特殊な変数です。


http://www.bkjia.com/PHPjc/327677.htmlwww.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/327677.html

場合によっては、変数変数名はプログラミングに大きな利便性をもたらします。つまり、変数名に動的に名前を付けて使用することができます。通常、変数は次のようなステートメントによって名前が付けられます: $a = 'he...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。