@return int总是返回字符串php

时间:2019-02-20 16:50:06

标签: php function apache2

我有下一段代码:

 /**
 * @return int
 */
public function getId()
{
    return $this->id;
}

当我在具有 apache2 的服务器中执行时,此命令始终返回字符串值,而在具有 nginx 的另一台服务器中返回整数值。 为什么在这里不同,将配置配置为nginx或apache或php.ini?

两个服务器上都装有php7。

请,我需要知道为什么会发生此问题。谢谢您的回复。

1 个答案:

答案 0 :(得分:0)

PHP注释通常对运行时间没有影响。在某些特殊情况下,代码中使用了注释,但是类型提示通常不是其中之一。只是人类和IDE可以提供有关类型的信息。

所以原因的不同之处在于,无论该值来自何处,其价值都不同。

与转换一样,您可以广播,将值明确转换为必要的类型return (int) $this->id

从PHP 7开始,它确实允许您显式指定返回类型:

public function getId() : int
{
    return $this->id;
}

有关详细信息,请参见文档中的return type declaration