変数変数名を使用すると便利な場合があります。つまり、変数の変数名を動的に設定して使用できます。通常の変数は宣言によって設定されます。例:
<?php $a = "hello"; ?>
可変変数は、通常の変数の値を可変変数の変数名として取得します。上記の例では、2 つのドル記号 ($) を使用した後、hello を変数変数として使用できます。例:
<?php $$a = "world"; ?>
このとき、$a の内容が「hello」、$hello の内容が「world」という 2 つの変数が定義されています。したがって、次のように表現できます:
<?php echo "$a ${$a}"; ?>
次の記述はより正確で、同じ結果を出力します:
<?php echo "$a $hello"; ?>
どちらも出力します: hello world.
可変変数を配列で使用するには、あいまいさを解決する必要があります。これは、$$a[1] を記述するときに、パーサーは $a[1] を変数として必要とするのか、それとも $$a を変数として必要とし、変数の index を [1] として取得するのかを知る必要があります。 ] 価値。この問題を解決する構文は、最初のケースには ${$a[1]} を使用し、2 番目のケースには ${$a}[1] を使用します。
<?php $a = 'hello'; $$a = 'world'; echo "$a ${$a}";
上記のコードの 2 番目の文では、2 つのドル記号を持つ変数を使用しているため、ここでのこの変数は変数変数です。最初の文から詳しく説明していきます:
最初の文は変数 a を定義し、その値は hello です。 2 番目の文は次のとおりです: (ドル記号には特別な意味があることがわかったので、 で説明しました。 コメント。)
$$a = '世界'; //ここでの $$a は可変変数です。ここで $$a は $($a の値) を表します。これは何を意味しますか?ここの $a の値は hello ですか? $$a は $a をその値に置き換えることを意味し、$hello になります。つまり $hello='world'; 理解できるかわかりませんが、 // $a は hello の値ですか? では、$$a は hello ですか? $a が hello に置き換えられた場合、$hello は $hello の値と等しいことを意味します。世界、だから分かりました、さあ。
echo "$a ${$a}";
中括弧を追加する必要があります: {} そうでない場合は、試してみるとわかりますが、上記のコードは次のコードと同じです。
りー以上がPHPにおける変数変数「$$」の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。