[PHP-users 9611] Re: 関数でスーパーグローバル変数を可変変数で取得するには

Toshiyuki Kajii php-users@php.gr.jp
Thu, 29 Aug 2002 02:40:59 +0900


梶井です。

とても詳しく説明していただき、ありがとうございました。
私ももう少しソースを読めばよいのでしょうが...精進しなきゃぁ...

* Wed, 28 Aug 2002 10:59:40 +0900
* Masaki Fujimoto <fujimoto@studio.co.jp> wrote:

>まず、「なぜ関数内で可変変数を用いてスーパーグローバル変数を使用するとき
>はglobal宣言が必要か」という点についてですが、これは簡単に言うと「その変
>数がスーパーグローバルかどうかはコンパイル時に決定されている」からです。
>なので、現状では可変変数のように実行時に初めてその変数名が分かる場合には、
>それがスーパーグローバルかどうかというチェックは行われていません。

なるほど。
つまり、スーパーグローバルな変数は、スクリプトが呼ばれた時に置換され
ているようなイメージでしょうか。その場合、関数内の可変変数は、その関
数が呼ばれるまでそれがスーパーグローバルな変数であることがわからない
ので置換できないというようなことですね。


*---------------------------------------------------*
    Toshiyuki Kajii    梶井 俊幸
    e-mail:            mikoto@camino.nissan.ne.jp
*---------------------------------------------------*