인수가 참조 (&)와 함께 전달되는 함수가 있습니다. 내가 NULL에 그 인수를 설정하는 경우에는, 나는 오류 얻을 :함수에서 참조 오류를 전달할 수 없습니다.
이"에서 참조로 매개 변수 1을 통과 할 수 없음을 ..."이것은 스크립트입니다
: 이것은 내가
<?php
function doSomething(&$reference,$arg1,$arg2){
if($reference !== NULL){
//Do something with reference
}else{
//Do something else
}
}
//Call with reference
doSomething($a,$b,$c);
//Call without reference
//doSomething(NULL,$b,$c);
?>
입니다 NULL이 변수로 선언되지 않았지만 함수 자체에서 즉시 선언 되었기 때문에 생각하십시오. 난 그냥 함수에 NULL을 넣을 때 참조 오류가 표시되지 않습니다 그래서 어떻게 내가 내 기능을 수정합니까
$nullVar = NULL;
doSomething($nullVar,$b,$c);
, 만 가능한 참조를 (내가 사용하지 않기 때문에 유지 : 나는이 작업을 수행 할 때 작동
function doSomething($arg1,$arg2, &$reference = null){
if($reference !== NULL){
//Do something with reference
}else{
//Do something else
}
}
$a = 'a';
$b = 'b';
doSomething($a, $b);
그러나 세 번째 인수에 null
를 전달하는 것은 여전히 발생합니다 오류 : 당신은 인자의 위치를 바꿀 경우 NULL로 설정 참조)
나는 이것을 피할 수 없다고 생각한다. - 변수 만 참조로 전달되고 NULL은 변수가 아니다. – Mikk