我尝试查找了 (int) 的信息,但只在 PHP 手册中找到了 int() 函数的文档。
有人能够解释一下上述代码的作用,以及它是如何工作的吗?
有人能够解释一下上述代码的作用,以及它是如何工作的吗?
它将变量的值转换为整数(至少尝试转换)。如果有任何字母等在前面,则会将其转换为0。
<?php
$var = '1a';
echo $var; // 1a
echo (int) $var; //1
$var2 = 'a2';
echo $var2; //a2
echo (int) $var2; // 0
?>
的翻译是:?>
。var_dump((int)8);
var_dump((int)"8");
var_dump((int)"6a6");
var_dump((int)"a6");
var_dump((int)8.9);
var_dump((int)"8.9");
var_dump((int)"6.4a6");
结果:
int(8)
int(8)
int(6)
int(0)
int(8)
int(8)
int(6)
(int)
将一个值转换为整数。
<?php
$test = "1";
echo gettype((int)$test);
?>
$ php test.php
integer
(int)
将把其后面的值转换为int
类型。php > var_dump((int) "5");
int(5)
我认为这个语法是从C语言借鉴而来的。
它将其后面的变量转换为整数。更多信息请参阅文档: http://php.net/manual/en/language.types.type-juggling.php
在PHP中,类型转换的工作方式与C语言类似:所需类型的名称写在要转换的变量之前的括号中。
允许的转换包括:
- (int),(integer) - 转换为整数
- (bool),(boolean) - 转换为布尔值
- (float),(double),(real) - 转换为浮点数
- (string) - 转换为字符串
- (array) - 转换为数组 (object) - 转换为对象
- (unset) - 转换为NULL
(int)
称为类型转换。基本上它会取变量并尝试强制将其转换为 int
类型。
(int)
是类型转换(请参阅:http://php.net/manual/en/language.types.type-juggling.php#language.types.typecasting),而`int()`根本不存在。我认为你指的是`intval()`,它本身是一个函数,因此执行时间比类型转换长一点,并提供了提供转换基数的能力。在这个答案中讨论了其他差异:https://dev59.com/m3I-5IYBdhLWcg3wVWpi。 - flu