public static function check($value, $condition) { if (is_null($value)) { return false; } $keys = array_keys($condition); foreach ($keys as &$key) { if (!self::evaluate($key, $value, $condition[$key])) { return false; } } return true; }