PHP中的(int)1和1之间有什么区别?

jac*_*gel 0 php casting

我正在阅读一些顾问为我们提供的代码.它有点复杂,在函数结束时,它显示:

return (int) 1;
Run Code Online (Sandbox Code Playgroud)

代替:

return 1;
Run Code Online (Sandbox Code Playgroud)

PHP有很多魔力; 这是看起来像骨头一样,还是有一个有理由将整数转换为整数?

Art*_*cto 5

不,它是一样的.1是整数文字.

这里这些都是整数文字; 施放到int没有效果:

$a = 1234; // decimal number
$a = -123; // a negative number
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
Run Code Online (Sandbox Code Playgroud)

如果你这样做return "1";将是一个完全不同的事情."1"(string)和1(int)之间的行为存在一些差异,即使用按位运算符.