0

代码注释中的问题:

   function find($id, Application_Model $guestbook)
        {
            $result = $this->getDbTable()->find($id);
            if (0 == count($result)) {
                return;  // what is returned in functions like these?
        }
4

4 回答 4

3

PHP 文档说“如果没有提供参数......将返回 NULL”。所以这:

return;

相当于:

return null;
于 2013-03-26T16:18:30.527 回答
1

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

function iDoNothing()
{
    return;
}

$returnValue = iDoNothing();
// $returnValue is now null
于 2013-03-26T16:18:32.267 回答
0

没有参数的 return 语句返回 null。

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

<?php
  echo emptyReturn();

  function emptyReturn() {
    return;
  }
?>
于 2013-03-26T16:19:30.787 回答
0

它实际上取决于语言。以下是其中一些的列表(“如果省略值,则返回”列):http ://en.wikipedia.org/wiki/Return_statement

对于 PHP,它只返回NULL.

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

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

于 2013-03-26T16:31:42.523 回答