検索
ホームページphp教程php手册PHP の変数変数名の概要

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

<code><span><?php </span> <span>$</span><span>a</span> = <span>"hello"</span>; <span>?></span> <br></span></code>

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

<code><span><?php </span> $<span>$</span><span>a</span> = <span>"world"</span>; <span>?></span> <br></span></code>

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

<code><span><?php </span> <span>echo</span> <span>"$a ${$a}"</span>; <span>?></span> <br></span></code>

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

<code><span><?php </span> <span>echo</span> <span>"$a $hello"</span>; <span>?></span> <br></span></code>

それらはすべて「hello world」と出力します。

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

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

例1 変数変数名

<code><span><?php </span> <br>  <span>class</span> foo { <br>    <span>var</span> <span>$</span><span>bar</span> = <span>"I am bar."</span>; <br>  } <br>  <span>$</span><span>foo</span> = <span>new</span> foo(); <br>  <span>$</span><span>bar</span> = <span>"bar"</span>;  <br>  <span>$</span><span>baz</span> = <span>array</span>(<span>"foo"</span>, <span>"bar"</span>, <span>"baz"</span>, <span>"quux"</span>);  <br>  <span>echo</span> <span>$</span><span>foo</span>-><span>$</span><span>bar</span> . <span>" <br>"</span>;  <br>  <span>echo</span> <span>$</span><span>foo</span>-><span>$</span><span>baz</span>[<span>1</span>] . <span>" <br>"</span>;  <br><span>?></span> <br></span></code>

上記の例では、次の結果が出力されます:

私はバーです。

私はバーです。

警告

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



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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール