0

借助 ProductFilterIterator 类想要获取数据

class ProductFilterIterator extends \FilterIterator
{
    protected $filter;
    protected $length;

    public function __construct(\Iterator $iterator,  $filter)
    {
        $this->filter = $filter;
        $this->length = -strlen($filter);
        parent::__construct($iterator);
    }

    public function accept() : bool
    {
        $current = $this->getInnerIterator()->current();
        return substr($current['Товар'], $this->length) == $this->filter;
    }
}


$iterator = (new \ArrayObject($obj['items']))->getIterator();
$filter = new ProductFilterIterator($iterator, $arPart['ARTICLE']);

foreach ($filter as $obj) {
   echo "<pre>";

我收到一个错误 - 致命错误:无法声明类 ProductFilterIterator,因为该名称已在

4

1 回答 1

0

尝试使用命名空间,

namespace Custom;
class ProductFilterIterator extends \FilterIterator
{
    protected $filter;
    protected $length;

    public function __construct(\Iterator $iterator,  $filter)
    {
        $this->filter = $filter;
        $this->length = -\strlen($filter);
        parent::__construct($iterator);
    }

    public function accept() : bool
    {
        $current = $this->getInnerIterator()->current();
        return \substr($current['Товар'], $this->length) == $this->filter;
    }
}


$iterator = (new \ArrayObject($obj['items']))->getIterator();
$filter = new ProductFilterIterator($iterator, $arPart['ARTICLE']);

foreach ($filter as $obj) {
   echo "<pre>";
于 2020-01-13T12:55:26.750 回答