ホームページ  >  に質問  >  本文

PHP で動的変数名で中括弧を使用する

<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粉717595985P粉717595985389日前432

全員に返信(2)返信します

  • P粉588660399

    P粉5886603992023-08-30 10:02:10

    ###概要###

    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

    P粉0432953372023-08-30 09:41:31

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

    リーリー

    実際の例


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

    リーリー

    返事
    0
  • キャンセル返事