PHP 中 int 和 integer 类型的区别

半夜整理东西,发现一个以前没留意到的小问题。

function show($id) : int
{
       return $id;
}
function show($id) : integer
{
       return $id;
}

PHP 7.0+ 里支持了函数(和方法)的返回值类型提示,上述第二种写法在解释运行时会触发一个 Fatal Error,要求返回值必须是 integer 类的一个实例

PHP Fatal error: Uncaught TypeError: Return value of show() must be an instance of integer, integer returned in /home/mingc/practice/demo68.php:12

当然,两者在强制类型转换时效果是一样的:

$a = '27c';
var_dump((int)$a); // int(27)
var_dump((integer)$a); // int(27)

 

相关链接

 

posted @ 2018-07-18 04:01  mingc  阅读(3507)  评论(1编辑  收藏  举报