参照を使用する理由は、たとえば関数に渡された値を変更するためです。
ここで私が参照して上記第二の例では、同じ結果を取得したい場合は今、私はこのようにそれを行うだろう例
$nameOfUser = "Mr. Jones";
function changeName($name) { // Not passing the value by reference
$name = "Foo";
return $name;
}
changeName($nameOfUser);
/**
* The echo below will output "Mr. Jones" since the changeName() function
* doesn't really change the value of the variable we pass in, since we aren't
* passing in a variable by reference. We are only passing in the value of the
* $nameOfUser variable, which in this case is "Mr. Jones".
*/
echo $nameOfUser;
$nameOfUser = changeName($nameOfUser);
/**
* This echo below will however output "Foo" since we assigned the returning
* value of the changeName() function to the variable $nameOfUser
*/
echo $nameOfUser;
です:
$nameOfUser = "Mr. Jones";
function changeName(&$name) { // Passing the value by reference
$name = "Foo";
return $name;
}
changeName($nameOfUser);
/**
* The echo below will output "Foo" since the changeName() function
* changed the value of the variable we passed in by reference
*/
echo $nameOfUser;
私は私の例があったことを願っています私はあなたに参照の仕組みがどのように優れているかを洞察しました。
私は個人的に値を返して、それを設定する方が良いと思うので、参照が必要な場合の例はありません。関数に渡された変数を変更すると、その関数を使用するユーザーが混乱する可能性があります。
- リファレンスを使用するとメリットはありますか? –
唯一の利点は、PHPが最初のものへのポインタを使用しているので、別の変数を作成する必要がないことです。しかし、私はあなたがパフォーマンス上の違いを気づかないと思います。私はあなたが参照を使用する場合、コードを理解しにくくするだけだと思います。 – Marwzoor
なぜプログラマーを混乱させてしまうのであればPHPに参照を入れるのはなぜですか? –