2017-10-29 2 views
-2

参照渡しでグローバルを使用してパラメータを渡すことには、実際的な違いはありますか?PHP - グローバル参照と参照渡しを使用する

簡単な例は:

$my_var = 5; 
$my_var2 = 3; 

function add_one(&$i){ 
    return $i++; 
} 

function add_one_global(){ 
    global $my_var2; 
    return $my_var2++; 
}  

add_one($my_var); 
echo "$my_var<br>"; 

add_one_global(); 
echo "$my_var2"; 

出力は次のとおりです。

6 
4 

それらのいずれも(それが可能であれば避けるべきであることを認識して)グローバル変数を変更し、 "add_oneは" のようですもう少し柔軟性がありますが、それ以外には何か違いはありますか?

+0

グローバル変数を使用することは悪い習慣です – Akintunde007

+1

なぜグローバル変数を使用するのですか?関数の引数で値を渡して、 'return'で返すのはなぜですか? – zerkms

+0

はい、私はそれをしてはならないことを知っています(私の質問でそれを太字にしても)。私は単に、これらの2つの間の違い(もしあれば)が何かと不思議です。 – oboer

答えて