PHP での動的配列アクセス [原文: Access Array Value on the Fly]
PHP は、括弧表記を使用して配列値にアクセスする機能を提供します([])。ただし、一般的な問題点は、式を操作するときにこれを直接達成できないことです。
問題:
次の例では、次のメソッドを使用して配列値にアクセスしようとしています。括弧表記内の式は次のようになります。エラー:
echo array('a', 'b', 'c')[$key];
解決策:
このエラーの理由は、PHP の文法の制限です。添字表記は変数式にのみ有効であり、一般的な式では有効ではありません。これを解決するには、中間変数を使用できます。
$variable = array('a', 'b', 'c'); echo $variable[$key];
技術的説明:
PHP の文法では、式に添字表記を使用できません。これは、関数呼び出しの結果、かっこ、またはその他の式に適用できないことを意味します。この動作は、式に対して添字を解決できる他の言語とは異なります。
無効な添字の追加の例:
$x = array(1, 2, 3); print ($x)[1]; // Invalid: Subscripted expression is a parenthetical expression. function ret($foo) { return $foo; } echo ret($x)[1]; // Invalid: Subscripted expression is a call expression.
以上がPHP で式を使用して配列値にアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。