value => '等于', self::NOT_EQUAL->value => '不等于', self::GREATER_THAN->value => '大于', self::GREATER_THAN_OR_EQUAL->value => '大于等于', self::LESS_THAN->value => '小于', self::LESS_THAN_OR_EQUAL->value => '小于等于', ]; } /** * 获取比较运算符名称 * * @param int $operator * @return string */ public static function getName(int $operator): string { return self::getAll()[$operator] ?? '未知'; } /** * 检查比较运算符是否有效 * * @param int $operator * @return bool */ public static function isValid(int $operator): bool { return isset(self::getAll()[$operator]); } /** * 获取比较运算符符号 * * @param int $operator * @return string */ public static function getSymbol(int $operator): string { $symbols = [ self::EQUAL->value => '=', self::NOT_EQUAL->value => '≠', self::GREATER_THAN->value => '>', self::GREATER_THAN_OR_EQUAL->value => '≥', self::LESS_THAN->value => '<', self::LESS_THAN_OR_EQUAL->value => '≤', ]; return $symbols[$operator] ?? '?'; } /** * 执行比较操作 * * @param mixed $a 第一个值 * @param mixed $b 第二个值 * @param int $operator 运算符 * @return bool 比较结果 */ public static function compare($a, $b, int $operator): bool { switch ($operator) { case self::EQUAL->value: return $a == $b; case self::NOT_EQUAL->value: return $a != $b; case self::GREATER_THAN->value: return $a > $b; case self::GREATER_THAN_OR_EQUAL->value: return $a >= $b; case self::LESS_THAN->value: return $a < $b; case self::LESS_THAN_OR_EQUAL->value: return $a <= $b; default: return false; } } }