¿Hay alguna diferencia entre int
y integer
en PHP?Diferencia PHP entre enteros y enteros
¿Cuál es el uso más nuevo o más recomendado?
$a = (int)"3 euros";
echo $a; // $a==3
$a = (integer)"3 euros";
echo $a; // $a==3
¿Hay alguna diferencia entre int
y integer
en PHP?Diferencia PHP entre enteros y enteros
¿Cuál es el uso más nuevo o más recomendado?
$a = (int)"3 euros";
echo $a; // $a==3
$a = (integer)"3 euros";
echo $a; // $a==3
Citando la manual:
la conversión a entero
Para convertir explícitamente un valor a un entero, utilice el (int) o (integer) yesos. ...
Nº
Ellos son los mismos, ambos echaron el valor a un entero, una es simplemente más concisa por cuatro caracteres.
'is_int()', 'is_integer()' PHP sadness ... – cvsguimaraes
Esto no es del todo cierto, en realidad hay una diferencia entre el entero y el entero. Aquí un ejemplo sencillo:
//print_r('PHP version: '.phpversion().'<br />');
//PHP version: 5.5.23
$i = '1';
function testme(int $j){
print_r ($j);
}
testme(intval($i));
Esta pequeña porción de código imprimirá un "E_RECOVERABLE_ERROR" desde testme función de espera 'int' y obtener 'entero' en su lugar.
Ejemplo erróneo ... Ver: http://php.net/manual /en/functions.arguments.php#functions.arguments.type-declaration '... el uso de booleano como parámetro o tipo de retorno requerirá un argumento o valor de retorno que sea una instancia de la clase o interfaz booleana, en lugar de tipo bool '. Es por eso que su código no funciona. No es el resultado de int/entero. Puede probar 'testme ((int) $ i)' o 'testme ((integer) $ i)'. Es el mismo resultado: "El argumento 1 pasado a testme() debe ser una instancia de entero, número entero dado" – instead
La diferencia surge cuando utilizamos tipo insinuando desde PHP 7.0 o superior
esto es válido
function getId(): int
{
return $id;
}
esto no es
function getId(): integer
{
return $id;
}
el segundo esperará que devolver un objeto de un 'entero de clase', que causará una oración extraña:
Uncaught TypeError: Return value of getId() must be an instance of integer, integer returned in ...
Esto es correcto. El problema es que la respuesta aceptada de 2012 ya no es válida. – roselan
int es la abreviatura de entero – Bono
int es solo el alias de entero. –
@ TufanBarışYıldırım No pude encontrar una fuente en el manual, sin embargo, parece que 'int' es favorable sobre' entero', considerando 'var_dump ((integer) 1);' outputs 'int 1' (php 5.3.15); '(int)' también se usa con más frecuencia que '(integer)' en los documentos. Quizás integer es un alias para int ... solo nit-picking: P – zamnuts