将字符串转换为对象时遇到问题。这是功能:
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;'-';
但没有运气:(
答案 0 :(得分:5)
您应该能够使用closure来完成此任务:
$slikeid = array_filter($slike, function($el) use( $id) {
return substr( $el, 0, 2) == $id;
});
现在,$id
应该在匿名函数的范围内,因此您应该能够将元素值与它进行比较。