PHP中int
和integer
之间有什么区别吗?
哪个更新或更推荐使用?
$a = (int)"3 euros";
echo $a; // $a==3
$a = (integer)"3 euros";
echo $a; // $a==3
答案 0 :(得分:28)
当我们使用php 7.0+
中的类型提示时会出现差异这是有效的
function getId(): int
{
return $id;
}
这不是
function getId(): integer
{
return $id;
}
第二个会期望你返回一个'类整数'的对象,这将导致一个奇怪的句子:
Uncaught TypeError: Return value of getId() must be an instance of integer, integer returned in ...
答案 1 :(得分:11)
答案 2 :(得分:8)
引用manual:
转换为整数
要将值显式转换为整数,请使用(int)或 (整数)演员。 ...
答案 3 :(得分:3)
这不完全正确,int和整数之间实际上存在差异。 这是一个简单的例子:
//print_r('PHP version: '.phpversion().'<br />');
//PHP version: 5.5.23
$i = '1';
function testme(int $j){
print_r ($j);
}
testme(intval($i));
这部分代码将打印“E_RECOVERABLE_ERROR” 因为testme函数期望'int'而不是'整数'。