PHP与整数之间的差异

时间:2012-05-17 13:06:59

标签: php

PHP中intinteger之间有什么区别吗?

哪个更新或更推荐使用?

$a = (int)"3 euros";
echo $a;  // $a==3

$a = (integer)"3 euros";
echo $a; // $a==3

4 个答案:

答案 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)

没有

它们是相同的,它们都将值转换为整数,一个只是四个字符。

Source

答案 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'而不是'整数'。