Php 使字符串成为对象?
我在将字符串转换为对象时遇到问题。以下是函数:Php 使字符串成为对象?,php,string,function,Php,String,Function,我在将字符串转换为对象时遇到问题。以下是函数: public function slikepoid($dire,$id) { $this->dire=$dire; $this->id=$id; $slike = $this->skupljanjeslika($this->dire); $slikeid = array_filter($slike, function($el) { return substr( $el, 0,
public function slikepoid($dire,$id)
{
$this->dire=$dire;
$this->id=$id;
$slike = $this->skupljanjeslika($this->dire);
$slikeid = array_filter($slike, function($el) {
return substr( $el, 0, 2) == '$this->id-'; // Here is the problem !
});
return $slikeid;
}
我得到了这个错误:
致命错误:第8行不在对象上下文中时使用$this
我试过:
return substr( $el, 0, 2) == ''.(string)$this->id;'-';
但是运气不好:(您应该能够使用a来完成此任务:
$slikeid = array_filter($slike, function($el) use( $id) {
return substr( $el, 0, 2) == $id;
});
现在,
$id
应该在匿名函数的作用域内,因此您应该能够将元素值与它进行比较。您应该能够使用a来完成此操作:
$slikeid = array_filter($slike, function($el) use( $id) {
return substr( $el, 0, 2) == $id;
});
现在,
$id
应该在匿名函数的作用域内,因此您应该能够将元素值与之进行比较。在PHP5.3中,您不能在匿名函数(闭包)内使用$this
。我认为你可以在PHP5.4中这样做。是的,但是如何转换字符串中的构造函数?在PHP5.3中,你不能在匿名函数(闭包)中使用$this
。我认为你可以在PHP5.4中这样做。是的,但是如何转换字符串中的构造函数?公共函数slikepoid($dire,$id)-它的定义闭包??公共函数slikepoid($dire,$id)-其定义闭包??