MW211 EXIT

devlog
PHP/参照渡しのうっかりミス
2011年10月08日
PHPで関数の引数を参照渡しする場合には、以下のように関数側に「&」をつけます。
┌──────────────────────────────────────┐
│関数($引数);                                                                │
├──────────────────────────────────────┤
│function 関数(&$引数) {                                                     │
└──────────────────────────────────────┘

これをうっかり、関数呼び出し側に「&」をつけてしまうと…
┌──────────────────────────────────────┐
│関数(&$引数);                                                               │
├──────────────────────────────────────┤
│function 関数($引数) {                                                      │
└──────────────────────────────────────┘

以下のエラーが発生します
┌──────────────────────────────────────┐
│Deprecated: Call-time pass-by-reference has been deprecated in …           │
└──────────────────────────────────────┘

なお、参照渡しすれば、引数に指定した内容が関数内で
書き換えられてしまいます(書き換えることが可能です)。
分類:PHP