Вопрос по php – PHP разница между целым и целым

15

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

Какой из них более новый или рекомендуемый?

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

$a = (integer)"3 euros";
echo $a; // $a==3
int - это только псевдоним для целого числа. Tufan Barış Yıldırım
int это сокращение от integer Bono
@ TufanBar & # x131; & # x15F; Y & # x131; ld & # x131; r & # x131; m Я не смог найти источник в руководстве, однако, похоже, чтоint выгодно по сравнениюinteger принимая во вниманиеvar_dump((integer) 1); выходыint 1 (php 5.3.15);(int) также используется чаще, чем(integer) в документах. Возможно, целое число является псевдонимом для int ... просто придирки: P zamnuts

Ваш Ответ

4   ответа
3

Вот простой пример:

//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"; и получить «целое число»; вместо.

Error: User Rate Limit Exceededphp.net/manual/en/… ...using boolean as a parameter or return type will require an argument or return value that is an instanceof the class or interface boolean, rather than of type boolError: User Rate Limit Exceededtestme((int) $i)Error: User Rate Limit Exceededtestme((integer)$i)Error: User Rate Limit Exceeded
11

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

Источник.

is_int(), is_integer()Error: User Rate Limit Exceeded
8

руководство:

Converting to integer

To explicitly convert a value to integer, use either the (int) or (integer) casts. ...

26

это действительно

function getId(): int 
{
 return $id;
}

это не

function getId(): integer
{
 return $id;
}

второй будет ожидать, что вы вернете объект класса integer, что вызовет странное предложение:

Uncaught TypeError: Return value of getId() must be an instance of integer, integer returned in ...
Error: User Rate Limit Exceeded

Похожие вопросы