【opensips学习笔记】【五】变量的empty与null

opensips中的var和avp变量对于empty和null的值判断起来有点迷惑,下面举个具体的例子来看一下

$var(var_null)=null;
     $avp(avp_null)=null;
     $var(var_empty)="";
     $avp(avp_empty)="";

     xlog("==============================\n");
     xlog("var(var_null): '$var(var_null)'\n");
     xlog("var(var_empty): '$var(var_empty)'\n");
     xlog("avp(avp_null): '$avp(avp_null)'\n");
     xlog("avp(avp_empty): '$avp(avp_empty)'\n");
xlog("==============================\n");
     if $var(var_null) == null
         xlog("var(var_null) == null\n");

     if $var(var_null)
        xlog("var(var_null) is TRUE\n");

     if $var(var_null) != null
        xlog("var(var_null) != null\n");

     if !$var(var_null)
        xlog("!var(var_null) is TRUE\n");

     if $var(var_null) == ""
        xlog("var(var_null) == \"\"\n");

     if $var(var_null) == 0
        xlog("var(var_null) == 0\n");

     ####################################
xlog("==============================\n");
     if $avp(avp_null) == null
         xlog("avp(avp_null) == null\n");

     if $avp(avp_null)
        xlog("avp(avp_null) is TRUE\n");

     if $avp(avp_null) != null
        xlog("avp(avp_null) != null\n");

     if !$avp(avp_null)
        xlog("!avp(avp_null) is TRUE\n");

     if $avp(avp_null) == ""
        xlog("avp(avp_null) == \"\"\n");

     if $avp(avp_null) == 0
        xlog("avp(avp_null) == 0\n");
     #####################################
xlog("==============================\n");
     if $var(var_empty) == null
         xlog("var(var_empty) == null\n");

     if $var(var_empty)
        xlog("var(var_empty) is TRUE\n");

     if $var(var_empty) != null
        xlog("var(var_empty) != null\n");

     if !$var(var_empty)
        xlog("!var(var_empty) is TRUE\n");

     if $var(var_empty) == ""
        xlog("var(var_empty) == \"\"\n");

     if $var(var_empty) == 0
        xlog("var(var_empty) == 0\n");
#######################################
xlog("==============================\n");
     if $avp(avp_empty) == null
         xlog("avp(avp_empty) == null\n");

     if $avp(avp_empty)
        xlog("avp(avp_empty) is TRUE\n");

     if $avp(avp_empty) != null
        xlog("avp(avp_empty) != null\n");

     if !$avp(avp_empty)
        xlog("!avp(avp_empty) is TRUE\n");

     if $avp(avp_empty) == ""
        xlog("avp(avp_empty) == \"\"\n");

     if $avp(avp_empty) == 0
        xlog("avp(avp_empty) == 0\n");
xlog("==============================\n");


Feb 24 21:00:07 [313] ==============================
Feb 24 21:00:07 [313] var(var_null): '<null>'
Feb 24 21:00:07 [313] var(var_empty): ''
Feb 24 21:00:07 [313] avp(avp_null): '<null>'
Feb 24 21:00:07 [313] avp(avp_empty): ''
Feb 24 21:00:07 [313] ==============================
Feb 24 21:00:07 [313] var(var_null) == null
Feb 24 21:00:07 [313] !var(var_null) is TRUE
Feb 24 21:00:07 [313] ==============================
Feb 24 21:00:07 [313] avp(avp_null) == null
Feb 24 21:00:07 [313] !avp(avp_null) is TRUE
Feb 24 21:00:07 [313] ==============================
Feb 24 21:00:07 [313] var(var_empty) != null
Feb 24 21:00:07 [313] !var(var_empty) is TRUE
Feb 24 21:00:07 [313] var(var_empty) == ""
Feb 24 21:00:07 [313] WARNING:core:comp_scriptvar: invalid EQUAL operation: left is EXPRESSION/STRING_VAL, right is NUMBER/NO_VAL
Feb 24 21:00:07 [313] WARNING:core:do_action: error in expression at opensips.cfg:217
Feb 24 21:00:07 [313] ==============================
Feb 24 21:00:07 [313] avp(avp_empty) != null
Feb 24 21:00:07 [313] !avp(avp_empty) is TRUE
Feb 24 21:00:07 [313] avp(avp_empty) == ""
Feb 24 21:00:07 [313] ==============================

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容