我有一個函數,其中參數與參考一起傳遞(&)。不過,如果我設置參數爲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沒有被聲明爲變量,而是立即在函數本身中聲明。它的工作原理,當我這樣做:
$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 2014-11-04 13:19:09