intval和(int)之间有什么特别的区别吗?例:$product_id = intval($_GET['pid']);$product_id = (int) $_GET['pid'];上面两行代码之间有什么特别的区别吗?
3 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
有一点需要注意的区别(int)和intval():intval()对待变量,已经是intS和floatS作为需要任何转换,无论基本参数的(如PHP 5.3.5至少)。正如在PHP doc页面上的注释中所指出的那样,这种行为并不是最明显的,并且在这里毫不客气地重申:
$test_int = 12;
$test_string = "12";
$test_float = 12.8;
echo (int) $test_int; // 12
echo (int) $test_string; // 12
echo (int) $test_float; // 12
echo intval($test_int, 8); // 12 <-- WOAH!
echo intval($test_string, 8); // 10
echo intval($test_float, 8) // 12 <-- HUH?
- 3 回答
- 0 关注
- 558 浏览
添加回答
举报
0/150
提交
取消