Für zukünftige Forscher, hier ist eine Funktion, die ich kam mit, wenn ich eine Anforderung hatte einige vage und unbestimmt „zusätzliche Kriterien“ für die Eingrenzung eine Liste hinzufügen von Produkten.
/**
* Criteria checker
*
* @param string $value1 - the value to be compared
* @param string $operator - the operator
* @param string $value2 - the value to test against
* @return boolean - criteria met/not met
*/
protected function criteriaMet($value1, $operator, $value2)
{
switch ($operator) {
case '<':
return $value1 < $value2;
break;
case '<=':
return $value1 <= $value2;
break;
case '>':
return $value1 > $value2;
break;
case '>=':
return $value1 >= $value2;
break;
case '==':
return $value1 == $value2;
break;
case '!=':
return $value1 != $value2;
break;
default:
return false;
}
return false;
}
(edit) Hier ist, wie ich es benutzt:
// Decode the criteria
$criteria = json_decode($addl_criteria);
// Check input against criteria
foreach ($criteria as $item) {
// Criteria fails
if (!criteriaMet($input[$item->key)], $item->operator, $item->value)) {
return false;
}
}
+1. Verschlüsse FTW. – outis