PHPでは、&Symbol(&)Symbolを使用して、値ではなく参照によって変数を渡すことができます。これにより、元の変数の値を関数またはメソッドで直接変更できます。 PHPは、参照によってパス変数を実装する2つの方法を提供します。
PHPでは、関数またはメソッドのパラメーターが付いていることにより、参照によって変数を渡すことができます。これは、渡す変数を関数内で変更し、元の変数の値に直接影響することを意味します。簡単な例を次に示します。
function modifyValue(&$ variable){ $ variable += 10; } $ myvariable = 5; ModifyValue($ myVariable); echo $ myvariable; //出力:15
上記のコードでは、function modievalueは、&symbol $ variableに渡されたパラメーターを受け入れます。関数が呼び出され、 $ myVariableが渡されると、元の変数は参照によって渡されるため、関数内の変更は$ myVariableの値に直接影響します。
関数宣言で&シンボルを使用することにより、変数が参照によって渡されることを明示的に指定できます。これにより、元の変数の値が誤って変更されないようにします。
関数宣言で&シンボルを使用することに加えて、変数が呼び出されたときに明示的に参照を渡すこともできます。ただし、呼び出しが実際に配信方法を変更しない場合にのみ、&記号を追加することは注意する必要があります。場合によっては、構文エラーや動作が予想よりも悪い場合があります。
function modifyValue($ variable){ $ variable += 10; } $ myvariable = 5; ModifyValue(&$ myVariable); echo $ myvariable; //出力:5
上記の例では、関数ModieValueは&Symbolを使用して定義されていません。したがって、関数を呼び出すときに使用されるかどうかに関係なく、 $ myVariableはまだ値で渡され、関数内の変更は元の変数に影響しません。
PHPでは、関数宣言の&記号を使用して、関数内で変数を変更できることを確認することにより、参照の合格を実装できます。それどころか、関数が呼び出された場合にのみ、&シンボルを使用しても、参照の合格を実装しません。参照パスを正しく理解して使用すると、変数の範囲をより適切に制御することで、元のデータの偶発的な変更を回避できます。