Подтвердить что ты не робот

Разница PHP между int и integer

Есть ли разница между int и integer в PHP?

Какое новое или более рекомендуемое использование?

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

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

Ответ 1

Цитирование manual:

Преобразование в целое число

Чтобы явно преобразовать значение в целое число, используйте либо (int), либо (целое число)....

Ответ 2

Нет.

Они одинаковы, оба передают значение целому числу, один - только четырьмя символами.

Источник.

Ответ 3

Разница возникает, когда мы используем тип hinting из 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 ...

Ответ 4

Это не совсем так, на самом деле существует разница между 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".