• ベストアンサー

globalと参照渡しはどちらが良いですか?

関数内で変数を変更しないなら、global 関数内で変数を変更したいなら、参照渡し になるのでしょうか? 下記では、どちらも速度的には変わらないでしょうか? function a(){ global $smarty; } function a(&$smarty){ }

質問者が選んだベストアンサー

  • ベストアンサー
noname#25358
noname#25358
回答No.1

 速度に関しては仮に少し違ったとしても、認識できないはずです。  マイクロ秒分の1の世界ですから。  グローバル変数は、プログラム内の色々な関数から雑多にアクセスされる変数の場合以外、使用を控えるべきです。  なぜなら、プログラムが巨大になればなるほど、『無関係な関数であっても、そのグローバル変数と同じ名前を利用できない』ことになり、うっかりミスを誘発するからです。  なので、その変数が関数 a でしか変更されないなら、参照渡しを使うべきです。

natsuyori
質問者

お礼

速度は変わらないんですね。 又、大変わかりやすい説明ありがとうございました(^^)

関連するQ&A