2008/06/30(月)
関数の中にある変数をグローバル宣言で読込んで参照するということはよくやるのだが、変数である以上、書き換えることももちろん可能だ。(これを知った時、思い掛けない結果だったので、ちょっとショックだったのだが、これって当たり前のことなのか)
ということは、ある関数を走らせて、グローバル変数を書き換えた場合は、リターンの必要もなく変数の内容が変わってしまうということだ。
使いようによっては便利だが、関数の内容を忘れてしまうと、いつのまにか意図せずに変数の値が変わってしまっている、ということも起こる。
何か関数にその機能についての明示的な名前をつけておくか、呼び出した箇所でコメントを残しておいた方が無難だろう。
あるいは、関数の中でのグローバル変数の使用は、参照のみにとどめておくか。
実際、殆どの場合はそういう使用方法なのだが、ルールとして厳格に決めてない限り、関数内でのグローバル変数書き換えはありうることだ。
でもやはり、書き換えない、と決めた方がいいのかもしれない。
Filed under: Reference | タグ: PHP
Tail-Lagoon @ 08:00
コメントおよびトラックバック受付中です。
TB : http://weblogs.tail-lagoon.com/WebPC/2008/06/30/38/trackback/
この投稿へのコメントは RSS 2.0 フィードで購読できます。