#php の変数
#変数変数名を使用すると便利な場合があります。つまり、
変数の変数名を動的に設定して使用することができます。通常の変数は宣言によって設定されます。例:
<?php $a = 'hello'; ?>
可変変数は、通常の変数の値を可変変数の変数名として取得します。 上記の例では、hello に 2 つのドル記号 ($) が使用されていますが、変数変数として使用できます。
例 1:
<?php $$a = 'world'; ?>
この時点では、両方の変数が定義されています: $a の内容は "hello"、$hello の内容は"世界"######。 例 2:
<?php echo "$a ${$a}"; ?>
<?php echo "$a $hello"; ?>
可変変数 を配列
とともに使用するには、あいまいさを解決する必要があります。これは $$a[1] を記述するとき、パーサーは $a[1] を変数として必要とするのか、それとも $$a を変数として必要として変数を取り出すのかを知る必要があります。インデックス [1] の値。
この問題を解決する構文は、最初のケースには ${$a[1]} を使用し、2 番目のケースには ${$a}[1] を使用します。 クラス プロパティには、変数プロパティ名を通じてアクセスすることもできます。変更可能なプロパティ名は呼び出しのスコープ内で解決されます。たとえば、式 $foo->$bar の場合、$bar はローカル スコープで解析され、その値は $foo のプロパティ名として使用されます。 $bar が配列単位の場合も同様です。 中括弧を使用して属性名を明確に区切ることもできます。プロパティが配列内にある場合、プロパティ名に複数の部分が含まれている場合、またはプロパティ名に不正な文字 (json_decode() や SimpleXML など) が含まれている場合に最も役立ちます。例:
<?php class foo { var $bar = 'I am bar.'; var $arr = array('I am A.', 'I am B.', 'I am C.'); var $r = 'I am r.'; } $foo = new foo(); $bar = 'bar'; $baz = array('foo', 'bar', 'baz', 'quux'); echo $foo->$bar . " "; echo $foo->$baz[1] . " "; $start = 'b'; $end = 'ar'; echo $foo->{$start . $end} . " "; $arr = 'arr'; echo $foo->$arr[1] . " "; echo $foo->{$arr}[1] . " "; ?>
出力:
I am bar. I am bar. I am bar. I am r. I am B.
この記事は以下から転載しています: https://www.cnblogs.com/ryanzheng/p/9133381.html
推奨チュートリアル: "php チュートリアル>>
以上がPHPの変数変数(詳細コード説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。