int
PHP和integer
PHP之间有什么区别吗?
哪个是更新的或更推荐的用途?
$a = (int)"3 euros";
echo $a; // $a==3
$a = (integer)"3 euros";
echo $a; // $a==3
int
PHP和integer
PHP之间有什么区别吗?
哪个是更新的或更推荐的用途?
$a = (int)"3 euros";
echo $a; // $a==3
$a = (integer)"3 euros";
echo $a; // $a==3
当我们使用 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 ...
引用手册:
转换为整数
要将值显式转换为整数,请使用 (int) 或 (integer) 强制转换。...
这并不完全正确,int 和 integer 之间实际上是有区别的。这里有一个简单的例子:
//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' 而得到 'integer'。