![]() |
1
4
我想你的要求纯粹是出于理论上的兴趣,因为在这个特殊的情况下,速度的差异在实践中并不重要。 让我们来看看PHP源代码 字符串变量 http://lxr.php.net/source/php-src/ext/standard/type.c#142 设置类型 http://lxr.php.net/source/php-src/ext/standard/type.c#95 如您所见,两个函数都使用相同的convert_to_long例程(这反过来又减少到库调用strtol)。settype包含(一个很小的)将第二个参数与类型字符串进行比较的开销,因此它应该稍微慢一点。 最快的方法是使用(int)cast,因为它不涉及函数调用操作码,而是由vm直接执行。 |
![]() |
2
1
让我们以一个简单的基准:
我在64位Ubuntu上的结果:
在长整数上,图像是相似的。所以(int)是最好的,但是没有真正的理由使用intval()而不是settype()。 |
![]() |
3
0
除非你打算测试数不清的值,否则不应该有任何实际的速度差。任何存在的事物都是如此之小,它不会真正影响任何事物。 |
![]() |
4
0
直接(型)铸造是最快的。这是我现在使用的代码。
|
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |