在 PHP 中哪个更快:dechex() 或 sprintf( "%x" )?



在PHP中将一个数字转换为十六进制表示的最快方法是什么:dechex($number)还是sprintf("%x",$number)?

给你…dechex更快,相差很小
0.0042848587036133
0.0037119388580322

<?php
$numbers = [];
for ($i = 1; $i < 10000; $i++) {
$numbers[] = random_int(1, 10000);
}
$start = microtime(true);
foreach ($numbers as $number) {
$test = sprintf("%x",$number);
}
echo microtime(true) - $start . PHP_EOL;
$start = microtime(true);
foreach ($numbers as $number) {
$test = dechex($number);
}
echo microtime(true) - $start . PHP_EOL;

最新更新