此代码有效。php7没有错误。但是我的IDE显示错误。IDE支持告诉我这个代码是无效的。这个代码可以吗?
class A {
public function hop() {
echo "hop";
}
}
function feed(A & $a=null) { //this function assign $a reference to A instance
$a = new A();
}
feed($a); //$a doesn't exists at this point
$a->hop(); //Say correctly "hop"
这个代码可以吗?
PHP解释器本身不会抛出语法错误(代码不会运行),甚至不会发出警告,因此这是有效的PHP代码
然而,使用一个变量而不首先声明它是一个坏习惯,所以当您在不首先声明$a=null
的情况下调用feed($a)
时,您的IDE会给您带来错误;