標準出力

新しいもの、変わらないこと 自分の頭を通して考えてみました (stdout)

連想配列について

自分は、基本的に特殊な技術や方言は身につけないたちなので避けてきたが
PHPで関数内にてグローバル変数を参照する時に連想配列の表現をした方が
なんとなくglobalで宣言するより楽そうなんで使ってみた。

しかし、これが凄くはまった。
文中で "$GLOBALS['key']" などとグローバル変数自体をダブルクォーテーションでくくると
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in
と叱られる。いつも思うがPHPのエラーメッセージは下世話なせいで分かりにくい。

つまるところ、連想配列をダブルクォーテーションでくくる場合、"$GLOBALS[key]"
てな具合でkeyをシングルクォーテーションでくくっては、いけないらしい。
なんだか訳の分からん仕様だ。