首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >php函数默认返回什么?

php函数默认返回什么?
EN

Stack Overflow用户
提问于 2009-08-02 10:05:29
回答 3查看 19.2K关注 0票数 79

如果我没有显式返回任何内容,那么php函数到底返回什么呢?

function foo() {}

  1. 它是什么类型?
  2. 它的值是什么?
  3. 如何使用===准确地测试它?
  4. 是否将此从php4更改为php5?
  5. function foo() {}有区别吗

(我不是问如何像if (foo() !=0) ...那样测试它)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-02 10:09:18

  1. null
  2. null
  3. if(foo() === null)
  4. -
  5. Nope.

您可以通过执行以下操作来尝试它:

$x = foo();
var_dump($x);
票数 103
EN

Stack Overflow用户

发布于 2009-08-02 10:16:52

不从PHP函数返回值与返回null的函数具有相同的语义。

function foo() {}

$x=foo();

echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";

这将输出

NULL
false
true

如果将foo替换为,则会得到相同的结果

function foo() {return null;}

从php4到php5再到php7,这种行为没有任何变化(我只是tested来确认一下!)

票数 38
EN

Stack Overflow用户

发布于 2019-05-09 02:49:19

在指定函数返回类型时,我确实发现了一个奇怪的地方。当你这样做的时候,你必须明确地从你的函数中返回一些东西。

<?php

function errorNoReturnDeclared($a = 10) : ?string {
    if($a == 10) {
        echo 'Hello World!';
    }
}

errorNoReturnDeclared(); //Fatal error

错误:

 Uncaught TypeError: Return value of errorNoReturnDeclared() must be of the type string or null, none returned in 

因此,如果您决定在旧函数上添加一些返回类型规范,请务必考虑这一点。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1218580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档