ホームページ >バックエンド開発 >PHPの問題 >PHPの配列添字に変数は使えないのでしょうか?

PHPの配列添字に変数は使えないのでしょうか?

PHPz
PHPzオリジナル
2023-04-12 09:17:38756ブラウズ

PHP では、通常の配列添字は変数ではなく、固定的に定義された文字列または数値である必要があります。

たとえば、次のコードは正しくありません:

$index = 'name';
$array = [];
$array[$index] = 'John';

上記の例では、配列 $array# にインデックスがないため、「未定義のインデックス」というエラーが表示されます。 ##$index という名前のインデックスが存在します。

この問題を解決する方法は、

{} によって変数を添え字の値として使用することです。例:

$index = 'name';
$array = [];
$array[$index] = 'John';
$array2 = [];
$array2["{$index}"] = 'John';
上記のコードは正常に動作します。どちらも

'John'$array$array2 として持ちます。 array"name" この添字の値。

上記の方法に加えて、変数を添え字として使用する別の方法があります。つまり、変数名を別の変数の値として使用し、前に追加することにより、

variable variable を使用します。変数名 #$ 変数を参照するためのシンボル。例:

$index = 'name';
$$index = 'John';
echo $name;
上記のコードでは、動的変数の定義と使用が実装されています。

$$index$name の省略形として見られ、値 'John'echo $name## が割り当てられます。 #'John' が出力されます。

変数 variable

を使用すると、プログラムをより動的にすることができますが、コードの理解や保守が難しくなる可能性もあるため、使用には注意が必要です。 つまり、PHP の配列添字では変数を使用できませんが、

{}

または variable variable を通じて変数を添字の値として使用できます。

以上がPHPの配列添字に変数は使えないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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