Final Class Yiisoft\Data\Reader\Iterable\FilterHandler\AndXHandler
| Inheritance | Yiisoft\Data\Reader\Iterable\FilterHandler\AndXHandler |
|---|---|
| Implements | Yiisoft\Data\Reader\Iterable\IterableFilterHandlerInterface |
AndX iterable filter handler allows combining multiple sub-filters.
The filter matches only if all the sub-filters match.
Public Methods
| Method | Description | Defined By |
|---|---|---|
| getFilterClass() | Yiisoft\Data\Reader\Iterable\FilterHandler\AndXHandler | |
| match() | Yiisoft\Data\Reader\Iterable\FilterHandler\AndXHandler |
Method Details
| public boolean match ( object|array $item, Yiisoft\Data\Reader\FilterInterface $filter, Yiisoft\Data\Reader\Iterable\Context $context ) | ||
| $item | object|array | |
| $filter | Yiisoft\Data\Reader\FilterInterface | |
| $context | Yiisoft\Data\Reader\Iterable\Context | |
public function match(object|array $item, FilterInterface $filter, Context $context): bool
{
/** @var AndX $filter */
foreach ($filter->filters as $subFilter) {
$filterHandler = $context->getFilterHandler($subFilter::class);
if (!$filterHandler->match($item, $subFilter, $context)) {
return false;
}
}
return true;
}
Signup or Login in order to comment.