public function matchAndRemoveByKey($pathPattern) { $matches = []; foreach ($this->flattenedMetadatas as $key => $value) { list($valueMatched, $valueMatches) = StringUtil::matchString($pathPattern, $key); if ($valueMatched === true) { $matches[$key] = ['value' => $value, 'valueMatched' => $valueMatched, 'valueMatches' => $valueMatches]; } } $this->removeKeys(array_keys($matches)); return $matches; }
private function matchParameters(array $parameters, array $matchedGroup) { $matchedParameters = []; foreach ($parameters as $param => $paramPath) { foreach ($matchedGroup as $group) { $endString = $group['endString']; $value = $group['value']; // Only grab the first match! list($matched, $parammatches) = StringUtil::matchString($paramPath, $endString); if ($matched === true) { $matchedParameters[$param] = $value; } } } return $matchedParameters; }