【发布时间】:2013-01-10 13:43:26
【问题描述】:
我知道 PHP 中的 int 和 integer 之间并没有什么不同。我一定是错的。
我将一个整数值传递给一个仅在该值上具有 int 的函数。像这样:-
$new->setPersonId((int)$newPersonId); // Have tried casting with (int) and intval and both
我的另一面:-
public function setPersonId(int $value) {
// foobar
}
现在,当我跑步时 - 我收到消息:-
“PHP 可捕获的致命错误:传递给 setPersonId() 的参数 1 必须是 int 的实例,给定整数”
我已尝试使用 (int) 和 intval() 进行调用。
有什么想法吗?
【问题讨论】:
-
PHP 不支持标准数据类型(int、doubles)的类型提示,但支持对象的类型提示。
-
当然 - 我也读过 - 那么解决方案是什么?
-
从公共函数 setPersonId(int $value) 中移除 'int'
-
正如我所提到的,我已经阅读了这篇文章。