Php 在usort函数中访问父类作用域
在这种情况下,是否可以使用Php 在usort函数中访问父类作用域,php,class,scope,Php,Class,Scope,在这种情况下,是否可以使用usort()访问父类的方法 我假设由于usort使用它自己的函数作用域,所以我无法访问公共方法ismorer()。有没有办法做到这一点?我可以将该方法转换为静态函数,如果它有助于…在匿名函数中访问外部作用域中的变量,您需要使用use声明: public function load($data){ $self = $this; usort($data,function($a,$b) use ($self){ return $self-&g
usort()
访问父类的方法
我假设由于usort使用它自己的函数作用域,所以我无法访问公共方法
ismorer()
。有没有办法做到这一点?我可以将该方法转换为静态函数,如果它有助于…在匿名函数中访问外部作用域中的变量,您需要使用use
声明:
public function load($data){
$self = $this;
usort($data,function($a,$b) use ($self){
return $self->isGreater($a,$b) ? 1 : -1; // THIS IS THE PROBLEM LINE
}
}
我创建了一个局部变量
$self
,因为旧版本的PHP不允许在闭包中访问$this
。要在匿名函数中访问外部作用域中的变量,需要使用use
声明:
public function load($data){
$self = $this;
usort($data,function($a,$b) use ($self){
return $self->isGreater($a,$b) ? 1 : -1; // THIS IS THE PROBLEM LINE
}
}
我创建了一个局部变量
$self
,因为旧版本的PHP不允许在闭包中访问$this
。Good ol'PHP。没有词法作用域,但请看:closures.Good ol'PHP。没有词法作用域,但请看:闭包。