728x90

PHP 5.3부터는 Call-time pass-by-reference가 폐지된다고 합니다.

만약에 call-time pass-by-reference로 사용할 경우,
Deprecated: Call-time pass-by-reference has been deprecated. 이런 경고가 발생합니다.

원인:

  1. $key = "hello";
  2. $obj = new MySQLi;
  3.  
  4. function test($arg1, &$arg2) {
  5. // ...
  6. }
  7.  
  8. test($key, &$obj)



마지막 코드를 보면 $obj를 call-by-reference로 넘겨주려고 &를 붙였는데, PHP 5.3부터는 폐지되었습니다.

수정:

  1. $key = "hello";
  2. $obj = new MySQLi;
  3.  
  4. function test($arg1, &$arg2) {
  5. // ...
  6. }
  7.  
  8. test($key, $obj)


즉, 함수 원형에서는 &를 사용하지만, 함수를 호출할때는 &를 붙이지 말아야합니다.

+ Recent posts