protected function compareValues($operator, $type, $value, $compareValue)
    {
        if ($type === self::TYPE_NUMBER) {
            $value = (float) $value;
            $compareValue = (float) $compareValue;
        } else {
            $value = (string) $value;
            $compareValue = (string) $compareValue;
        }
        switch ($operator) {
            case '==':
                return $value == $compareValue;
            case '===':
                return $value === $compareValue;
            case '!=':
                return $value != $compareValue;
            case '!==':
                return $value !== $compareValue;
            case '>':
                return $value > $compareValue;
            case '>=':
                return $value >= $compareValue;
            case '<':
                return $value < $compareValue;
            case '<=':
                return $value <= $compareValue;
            default:
                return false;
        }
    }
protected function compareValues($operator, $type, $value, $compareValue)
    {
        if ($type === self::TYPE_NUMBER) {
            $value = (float) $value;
            $compareValue = (float) $compareValue;
        } else {
            $value = (string) $value;
            $compareValue = (string) $compareValue;
        }
        switch ($operator) {
            case '==':
                return $value == $compareValue;
            case '===':
                return $value === $compareValue;
            case '!=':
                return $value != $compareValue;
            case '!==':
                return $value !== $compareValue;
            case '>':
                return $value > $compareValue;
            case '>=':
                return $value >= $compareValue;
            case '<':
                return $value < $compareValue;
            case '<=':
                return $value <= $compareValue;
            default:
                return false;
        }
    }
protected function compareValues ( $ operator , $ type , $ value , $ compareValue ) { if ( $ type === self :: TYPE_NUMBER ) { $ value = ( float ) $ value ; $ compareValue = ( float ) $ compareValue ; } else { $ value = ( string ) $ value ; $ compareValue = ( string ) $ compareValue ; } switch ( $ operator ) { case '==' : return $ value == $ compareValue ; case '===' : return $ value === $ compareValue ; case '!=' : return $ value != $ compareValue ; case '!==' : return $ value !== $ compareValue ; case '>' : return $ value > $ compareValue ; case '>=' : return $ value >= $ compareValue ; case '<' : return $ value < $ compareValue ; case '<=' : return $ value <= $ compareValue ; default : return false ; } }
Compares two values with the specified operator.
@param string $operator the comparison operator
@param string $type the type of the values being compared
@param mixed $value the value being compared
@param mixed $compareValue another value being compared
@return bool whether the comparison using the specified operator is true.
Compares two values with the specified operator .