配列を走査するように記述する場合、直接 $arr['key'] や $arr["key"] や $arr[key] など、いくつかの方法がありますが、どれも関連する内容を表示できます。それらの違いを以下に紹介しましょう。
1. $arr['key'] と $arr["key"] と $arr[key] の違い:
上記の 3 つのメソッドは、主に文字列型の配列の添字、つまり配列のキーを介して配列の値にアクセスします。配列の添字がインデックス型、つまりキーの値が数値の場合は、アクセスする必要はありません。注意してください。
1、$arr['key'] 一重引用符パターンは $arr;
の値として直接解析されます
2. $arr["key"] 二重引用符モードは、まず "key" 文字列に PHP 変数が含まれているかどうかを分析し、それから $arr;
の値に解析します。
3. $arr[key] に引用符がない場合は、まずローカル スコープにキー定数定義があるかどうか (つまり、define('key','val') があるかどうか) を分析します。
それ以外の場合は、グローバル スコープにキー定数定義があるかどうかの分析を続けます。
存在する場合は、グローバル キー定数で表される定数値を配列キー値として使用します。
それ以外の場合、キーは内部で「key」文字列スカラー値に変換され、E_NOTICE 例外がスローされます。
このメソッドは、文字列型の配列添字を介して配列の値にもアクセスします。
配列の添字がインデックス型、つまり数値の場合は注意する必要はありません。
実際、$str_key 変数が文字列値を表すことを示すために、ここで二重引用符を追加する必要はありません。
コードをコピー | |
定義('定数','arr1'); $constant = 'arr2'; $variable = 'arr1'; $arr = 配列( 'arr1'=>'arr1', 'arr2'=>'arr2', 'arr3'=>'arr3', ); echo $arr['arr1'],' ',$arr["$variable"],' ',$arr[定数],' ' ,$arr[$定数]; ?> |