誰かが私に次の違いが何であるかを説明してもらえますか?
$var = 'something';
function myFunc(){
global $var;
// do something
}
および(注:参照記号&)
$var = 'something';
function myFunc(&$var){
// do something
}
この2つの方法の違いがわかりません。
アップデート
うーん...私はここで少し混乱していると思います:)
$var = 1;
$var2 = 2;
function myFunction(){
global $var, $var2;
$var = $var + $var2;
}
// echo$varはここで3を返します。
$var = 1;
$var2 = 2;
function myFunction(&$a, &$b){
$a = $a + $b;
}
// echo $ varは、ここでも3を返します。
私はそれらの部分をすでに理解していますが、私が理解していないのは、これら2つのアプローチの違いです。これらの2つのアプローチは技術的に同じものであり、コーダーによる書き込み方法と方法の概念が異なると考えるのは間違っています。それらはPHPによって処理されますか?
私がこれを仮定するのが間違っている場合は、より良い例を提供できれば本当に役立ちます。おそらく、上記のアプローチの1つだけを使用して達成できるものですか?
わかりました。この更新プログラムを書いているときに1つの違いに気づきました。それは、参照を行うときに、関数スコープ内の変数へのポインターを保持しながら、新しい変数名を選択できることです。