Language agnostic 什么是';空的';返回

Language agnostic 什么是';空的';返回,language-agnostic,return,Language Agnostic,Return,守则注释中的问题: function find($id, Application_Model $guestbook) { $result = $this->getDbTable()->find($id); if (0 == count($result)) { return; // what is returned in functions like these? }

守则注释中的问题:

   function find($id, Application_Model $guestbook)
        {
            $result = $this->getDbTable()->find($id);
            if (0 == count($result)) {
                return;  // what is returned in functions like these?
        }
说明“如果未提供任何参数…将返回NULL”。因此:

相当于:

return null;
说明“如果未提供任何参数…将返回NULL”。因此:

相当于:

return null;

它不会返回任何东西。也就是说,如果您尝试将该函数的输出分配给一个变量,那么该变量将为
null

function iDoNothing()
{
    return;
}

$returnValue = iDoNothing();
// $returnValue is now null

它不会返回任何东西。也就是说,如果您尝试将该函数的输出分配给一个变量,那么该变量将为
null

function iDoNothing()
{
    return;
}

$returnValue = iDoNothing();
// $returnValue is now null

不带参数的Return语句返回null

您可以通过创建一个简短的php脚本来尝试:

<?php
  echo emptyReturn();

  function emptyReturn() {
    return;
  }
?>

不带参数的返回语句返回null

您可以通过创建一个简短的php脚本来尝试:

<?php
  echo emptyReturn();

  function emptyReturn() {
    return;
  }
?>

它实际上取决于语言。以下是其中几个的列表(“如果省略了值,则返回”列):

对于PHP,它只返回
NULL

在像C/C++这样的语言中,行为是未定义的。这意味着它可能会返回垃圾信息。 这就是像Java这样的语言阻止您这样做的原因。如果您试图
返回,Java将给您一个编译器错误在非void函数中


编辑:事实上,维基百科页面上并没有太多关于这方面的信息,所以我添加了一些

这实际上取决于语言。以下是其中几个的列表(“如果省略了值,则返回”列):

对于PHP,它只返回
NULL

在像C/C++这样的语言中,行为是未定义的。这意味着它可能会返回垃圾信息。 这就是像Java这样的语言阻止您这样做的原因。如果您试图
返回,Java将给您一个编译器错误在非void函数中


编辑:事实上,维基百科页面上并没有太多关于这方面的信息,所以我添加了一些

“理论”是一种类似于PHP的编程语言吗?@Barmar看起来这个标签通常用来指代CS理论:@Sancho,这表明他在寻找一个语言不可知的答案,而这个答案在这个问题上并不存在。是“理论”吗一种类似于PHP的编程语言?@Barmar看起来这个标签通常用来指代CS理论:@Sancho,这表明他在寻找一个语言不可知的答案,这个问题实际上并不存在。var_dump()更适合这里,echo或print也不适合你想要实现的目标。应该使用
print_r()
var\u dump()
var\u export()
。啊,是的,我同意你们两个。我是从javascript调用的,这使得我的php本身没有多大帮助。var_dump()更适合这里,echo或print也不适合您试图实现的目标。应该使用
print_r()
var\u dump()
var\u export()
。啊,是的,我同意你们两个。我是从javascript调用的,这使得我的php本身没有多大帮助。