private function createQueryColumnFilterSearch($column, $value, $delimiter = ':') { $filter = sprintf('%s%s%s', $column, $delimiter, $value); $dataset = uniqid(); $search = new Search($dataset); $search->setFilter($filter); $this->assertEquals($filter, $search->getFilter()); $this->assertEquals($column, $search->getFilterColumn()); $this->assertEquals($value, $search->getFilterValue()); }
/** * @param Search $search * @param array $line * * @return bool */ private function matchToSearch(Search $search, $line) { $match = false; if (null !== $search->getFilter()) { $column = $search->getFilterColumn(); $value = $search->getFilterValue(); if (!empty($column)) { if (array_key_exists($column, $line) && $value == $line[$column]) { $match = true; } } else { foreach ($line as $data) { if ($this->isLike($data, $value)) { $match = true; break; } } } } else { $match = true; } return $match; }