当前位置: 首页 > 编程笔记 >

Nginx中IF语句实现数学比较功能

司毅庵
2023-03-14
本文向大家介绍Nginx中IF语句实现数学比较功能,包括了Nginx中IF语句实现数学比较功能的使用技巧和注意事项,需要的朋友参考一下

nginx的if支持=、!= 逻辑比较, 但不支持if中 <、<、>=、<= 比较.
本示例使用了set-misc-nginx-module


location = /test/ {

    default_type html;

    set_random $a 0 9;      #$a 随机 从0-9取

    if ( $a <= 4 ){         #$a 如果 < 4 这是错误的写法

        echo 'a: $a is lte 4';

    }

    if ( $a >= 5 ){         #$a 如果 > 5 这是错误的写法

        echo 'a: $a is gte 5';

    }

}


上面的配置, 在启动nginx时会报错误的.

即然不支持,那有没有办法小小地弥补下呢?


location = /test/ {

    default_type html;

    set_random $a 0 9;     #$a 随机 从0-9取

    if ( $a ~ [0-4] ){     #$a 如果 正则匹配 0-4

        echo 'a: $a is lte 4';

    }

    if ( $a ~ [5-9] ){     #$a 如果 正则匹配 5-9

        echo 'a: $a is gte 5';

    }

}


测试10次:

a: 8 is gte 5

a: 9 is gte 5

a: 2 is lte 4

a: 1 is lte 4

a: 8 is gte 5

a: 0 is lte 4

a: 9 is gte 5

a: 1 is lte 4

a: 4 is lte 4

a: 5 is gte 5

...


附:NGINX竟然不支持这样的写法....

location = /test/ {

    default_type html;

    set_random $a 0 9;     #$a 随机 从0-9取

    set_random $b 0 9;     #$b 随机 从0-9取

    set $ereg "[0-$b]";

    if ( $a ~ $ereg ){     #$a 如果 正则匹配 0-$b

        echo 'a: $a is lte b: $b  ereg: $ereg';

    }

    if ( $a !~ $ereg ){     #$a 如果 正则不匹配 0-$b

        echo 'a: $a is gt b: $b  ereg: $ereg';

    }

}


求大牛来实现...

 类似资料:
  • 问题内容: 在Python中使用IF语句时,必须执行以下操作才能使“层叠”正常工作。 检查“等于”时,是否有办法使Python接受多个值?例如, 问题答案: if job in (“mechanic”, “tech”): print “awesome” elif job in (“tool”, “rock”): print “dolt” 括号中的值是一个元组。该运营商检查,看是否右手柄元组内的某处

  • 我试着比较两个值 我得到一个错误

  • 代码: 作业: 在直角三角形中,最长边长度的平方等于其他两条边长度的平方之和。编写一个程序,提示用户输入三角形三条边的长度,然后输出一条消息,指示三角形是否为直角三角形。无论输入三条边的长度顺序如何,该程序都可以正常工作。 我的问题:代码无法编译,找到:变量,必需:值 另外:我不知道如何制作,这样程序就可以知道三角形是否正确,即使边没有按顺序给出。请帮忙,我是一个初学者,在这项作业上有很多困难。

  • 问题内容: 我试图在z DBOpenHelper扩展SQLOpenHelper类中编写一个方法。它应该评估数据库中是否存在相同名称的条目。 这是Contact类的相关部分: 现在这是奇怪的事情: 方案A:其中和 等于false。Eclipse调试器显示名称的foo和cname的foo具有不同的id。这两个变量都按之前在代码中所示填充。 方案B:像这样加载变量的地方: 方案C:等于true …但是…

  • 本文向大家介绍Nginx中IF、AND、OR语句用法实例,包括了Nginx中IF、AND、OR语句用法实例的使用技巧和注意事项,需要的朋友参考一下 在上一篇文章:《Nginx if语句加正则表达式实现字符串截断》中, 我们介绍过了使用if来进行截断字符串的用法, 这次我们来了解下if的逻辑用法: 什么是逻辑用法呢, 就程序中的and、or关系, 就叫做逻辑了. NGINX支持if的 and 与 o