Разница PHP между int и integer Есть ли разница между int и integer в PHP? Какое новое или более рекомендуемое использование? $a = (int)"3 euros"; echo $a; // $a==3 $a = (integer)"3 euros"; echo $a; // $a==3 Ответ 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".
Ответ 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".