首页后端开发JAVAPHP 中使用 (int) 进行类型转换时要比 intval 函数快6倍

PHP 中使用 (int) 进行类型转换时要比 intval 函数快6倍

时间2023-04-23 07:15:01发布访客分类JAVA浏览676
导读:在 PHP 中,进行类型转换一般可以使用 intval(var 函数,或者使用强制类型转换函数 (int var 使用上这两个没有什么区别,唯一比较大的区别是 intval(var 函数支持第二个参数 base 转化所使用的进制,但是一...

在 PHP 中,进行类型转换一般可以使用 intval(var) 函数,或者使用强制类型转换函数 (int)var 使用上这两个没有什么区别,唯一比较大的区别是 intval(var) 函数支持第二个参数 base 转化所使用的进制,但是一般使用过程中,这个参数用的很少。

但是在性能上,这两种方法有非常大的差别,经过测试,在 PHP 中使用 (int)var 进行类型转换时要比使用函数 intval(var) 大概快 3-6.5倍,下面是一个简单的测试:

#

输入

(int)$val

intval($val)

比较

#0

42

0.068180

0.448819

658%

#1

-42

0.067972

0.448907

660%

#2

4.2

0.072348

0.450288

622%

#3

'42'

0.087305

0.469350

537%

#4

'+42'

0.087590

0.471153

537%

#5

'-42'

0.089154

0.469826

526%

#6

34

0.068234

0.451035

661%

#7

'042'

0.089344

0.470391

526%

#8

0x1A

0.072989

0.451909

619%

#9

'1e10'

0.088196

0.469347

532%

#10

26

0.068378

0.449884

657%

#11

42000000

0.068770

0.449416

653%

#12

2147483647

0.068927

0.448028

650%

#13

2147483648

0.072599

0.450618

620%

#14

4.2E+20

0.086305

0.467347

541%

#15

'420000000000000000000'

0.102120

0.484245

474%

#16

array()

0.092310

0.472185

511%

#17

array('foo','bar')

0.112644

0.494482

438%

PHP 的 intval(), strval(), floatval()boolval() 来自 PHP 4 年代的函数,PHP 5 之后的版本有了强制类型转换函数(比如(int) $var),经过上面测试,这些强制类型转换函数速度要快6倍。

所以 WordPress 5.6 把代码中的所有相关使用函数进行类型转换的代码都改成强制类型转换,据他们说一共改了 250 多个地方,哈哈。那我也改一下,WPJAM Basic 5.2 为了进一步提速,也会把所有使用到的类型转换函数,转换成强制类型转换。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

phpint测试函数性能

若转载请注明出处: PHP 中使用 (int) 进行类型转换时要比 intval 函数快6倍
本文地址: https://pptw.com/jishu/6089.html
使用 PHP 可变参数操作符(...)改善代码可读性 WordPress 技巧:修改后台的 Logo

游客 回复需填写必要信息