php文件中的nvl()函数

Tra*_*ray 1 php mysql

我只是浏览一个php文件,并遇到以下代码:

switch (nvl($mode))
{
  case "add" :
     print_add_category_form(nvl($id, 0));
     break;

  case "edit" :
     print_edit_category_form($id);
     break;
}
Run Code Online (Sandbox Code Playgroud)

nvl()函数做什么?

Tom*_*igh 6

可能它会像Oracle的NVL功能,尽管据我所知,它需要两个参数.

我用PHP作为语言搜索了Google Code Search,有几个例子如下:

/**
* If $var is undefined, return $default, otherwise return $var.
*/
function nvl(&$var, $default = "")
{
    return isset($var) ? $var
                       : $default;
}
Run Code Online (Sandbox Code Playgroud)

不过我认为你最好在代码中自己寻找声明,因为ceejayoz建议.


小智 5

或者,如果您有权访问PHP 7.0.0,请尝试使用null coalescing运算符 "??"

而不是(Oracle语法):

nvl($id, 0)
Run Code Online (Sandbox Code Playgroud)

您可以使用:

$id ?? 0
Run Code Online (Sandbox Code Playgroud)