我有下一段代码:
/**
* @return int
*/
public function getId()
{
return $this->id;
}
当我在具有 apache2 的服务器中执行时,此命令始终返回字符串值,而在具有 nginx 的另一台服务器中返回整数值。 为什么在这里不同,将配置配置为nginx或apache或php.ini?
两个服务器上都装有php7。
请,我需要知道为什么会发生此问题。谢谢您的回复。
答案 0 :(得分:0)
PHP注释通常对运行时间没有影响。在某些特殊情况下,代码中使用了注释,但是类型提示通常不是其中之一。只是人类和IDE可以提供有关类型的信息。
所以原因的不同之处在于,无论该值来自何处,其价值都不同。
与转换一样,您可以广播,将值明确转换为必要的类型return (int) $this->id
。
从PHP 7开始,它确实允许您显式指定返回类型:
public function getId() : int
{
return $this->id;
}
有关详细信息,请参见文档中的return type declaration。