PHP で動的変数名で中括弧を使用する
P粉717595985
P粉717595985 2023-08-29 12:05:01
0
2
483
<p>動的変数名 (実際に何と呼ばれるかはわかりません) を使用しようとしていますが、次のような感じです。 </p> <pre class="brush:php;toolbar:false;">for($i=0; $i<=2; $i ) { $("ファイル" . $i) = ファイル($filelist[$i]); } var_dump($file0);</pre> <p>は <code>null</code> を返します。これは機能しないことを示しています。どのような構文やテクノロジを探しているのかがわからないため、調査が困難になります。 <code>$filelist</code> は以前に定義されていました。 </p>
P粉717595985
P粉717595985

全員に返信(2)
P粉588660399

###概要###

PHP では、変数の前に

$

を追加するだけで、変数を動的にできます。 リーリー これはお勧めしませんが、この動作を連鎖させることもできます: リーリー

$variableName

{}: の間に配置できますが、必須ではありません。 リーリー {}

の使用は、以下に示すように、変数名自体が複数の値の組み合わせである場合にのみ適用されます。 リーリー

ただし、読みやすいため、常に {} を使用することをお勧めします。

PHP5 と PHP7 の違い 常に

{}

を使用するもう 1 つの理由は、PHP5 と PHP7 では動的変数の処理方法が若干異なり、場合によっては異なる結果が生じる可能性があるためです。

PHP7 では、動的変数、プロパティ、およびメソッドは、PHP5 の混合特殊ケースではなく、厳密に左から右に評価されるようになりました。次の例は、評価順序がどのように変化するかを示しています。 ケース 1:

$$foo['bar']['baz']

PHP5 の説明: ${$foo['bar']['baz']}

  • PHP7 の説明: ${$foo}['bar']['baz']
  • ケース 2: $foo->$bar['baz']

PHP5 の説明: $foo->{$bar['baz']}

  • PHP7 の説明: $foo->{$bar}['baz']
  • ケース 3: $foo->$bar['baz']()

PHP5 の説明: $foo->{$bar['baz']}()

  • PHP7 の説明: $foo->{$bar}['baz']()
  • ケース 4: Foo::$bar['baz']()

PHP5 の説明: Foo::{$bar['baz']}()

  • PHP7 の説明: Foo::{$bar}['baz']()
いいねを押す +0
P粉043295337

これらを {} で囲みます:

リーリー

実際の例


${} の使用は動的変数を作成する方法です。簡単な例:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート