ホームページ  >  記事  >  バックエンド開発  >  PHPの二重$記号は何を意味しますか

PHPの二重$記号は何を意味しますか

青灯夜游
青灯夜游オリジナル
2022-03-10 15:46:593252ブラウズ

二重の $ 記号は、PHP における一意の変数である「変数変数」を指します。これは、ある変数が別の変数の値を変数名として使用することを意味します。構文は「$$ 変数名」です。 ; use 可変変数は、変数の変数名を動的に設定して使用できます。

PHPの二重$記号は何を意味しますか

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

二重 $ 記号は、 to " "変数 変数" は、変数の名前を動的に変更できるようにする PHP 独自の変数です。

いわゆる変数変数は、別の変数の値を変数名として使用する変数です。

変数変数は、通常の変数の値を変数変数の変数名として取得します。この機能を使用すると、変数の変数名を動的に設定して使用できます。

たとえば、$str の値を設定できます:

$name = 'str';

したがって、## を使用できます。

#name$str を置き換えます。

name = 5;

このコードは次と同等です:

$str= 5;

可変変数の使用方法

変数名の前に少なくとも 2 つの「$」記号を追加するだけです

配列内での可変変数の使用

配列に変更可能な変数名を使用するには、あいまいさの問題を解決する必要があります。つまり、

$$a[1] と記述すると、パーサーは $a[1] を変数として扱うつもりなのか、 を扱うつもりなのかを理解する必要があります。 $$a は変数として扱われ、[1] はこの変数のインデックスを指します。このあいまいさを解決する構文は次のとおりです。最初のケースでは ${$a[1]} を使用し、2 番目のケースでは ${$a}[1] を使用します。

クラス プロパティには、変数プロパティ名を通じてアクセスすることもできます。変数のプロパティ名は、呼び出しが行われた変数のアクセス スコープから取得されます。たとえば、式が

$foo->$bar のような場合、ランタイムはローカル変数スコープで変数 $bar を検索し、その値がbe $foo オブジェクトのプロパティ名として使用されます。 $bar が配列の場合にも使用できます。

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

次の例では、可変変数を使用して変数の名前を変更します。コードは次のとおりです。

<?php
header("content-type:text/html;charset=utf-8");                //设置编码
$str=&#39;trans&#39;;                                                  //声明变量$str
$trans=&#39;PHP中文网&#39;;                                            //声明变量$trans
echo $str;                                                     //输出变量$str
echo "<br/>";
echo $$str;                                                 //通过可变变量输出$trans的值
?>

例の詳細な説明:

最初に 2 つの変数 $str と $trans を定義し、変数 $str の値を出力し、次に可変変数を使用します。変数 $str の名前を変更し、最後に名前変更後の変数値を出力します。

実行結果は次のとおりです。

PHPの二重$記号は何を意味しますか

推奨される学習: 「

PHP ビデオ チュートリアル

以上がPHPの二重$記号は何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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