나는 사무실 관리 시스템을 PHP 5.3에서 5.4로 이식하고 있으며 오류는 많은 함수가 참조에 의한 전달 (인수에서 "&"기호)을 구현한다는 점과 그러면 응용 프로그램 런타임이 중지됩니다. 나는 다음과 같은 방식으로 해결했다 :PHP 통화 시간에 의한 참조 전달 정규 표현식으로 대체
//This is a function with pass by reference:
function myfunc(&$x, $y, &$z) { ... }
//This is the above function being implemented:
$myClass->myfunc(&$var1, $var2, &$var3);
PHP는 문서가 내게 말하길 내가 제거해야하는 "&"나는 기능을 구현, 그래서 나는 동안 그 라인을 교체해야 할 때 :
$myClass->myfunc($var1, $var2, $var3);
함수 정의에 이미 인수가 참조로 제공된다는 의미의 기호가 있기 때문입니다.
하지만 PHP 파일이 너무 많아서 800 개가 넘는 파일이 하나씩 하나씩 교체해야합니다.
그래서 난 그냥 (함수 선언에서 "& $"우연의 일치와 의미 & &을 방지하고)는 나에게이 모든 "& $"우연의 일치를 찾을 수 있습니다 정규식이 필요합니다.[^ &] & \ $이 정규 표현식을 만들었지 만 작동하지만 "함수"에서 행을 시작하는 우연의 일치를 제외해야합니다 (함수 선언).
거의 완벽하지만 기능 선언도 우연의 일치로 간주됩니다. 나는 그 라인에서 "&"를 바꾸지 않아야한다. "기능"단어가 줄의 시작 부분에 없다는 것을 검증 할 필요가 있습니다. 어떻게 그 검증을 (?
@CarlosAntidioMorales try now.edited – vks
이 줄은 다음과 같습니다. function load_se ($ sis, $ ven, & $ pe, & $ seg, & $ per) –