我需要对多个变量进行检查,其中一些变量将是网址,其他变量只包含不超过5或6个字符,其中任何一个都不是“http”。
以下两种方法中的哪一种在速度和处理器负载方面提供了最佳性能。
$str = 'http://somereallylongwebaddress.com';
if (substr( $str, 0, 4 ) === "http") {
// true
}
if (strlen( $str >= 7 )) {
// true
}
修改 对于任何感兴趣的人我发现这个great page运行各种不同功能的实时比较。它并没有解决我的特定问题,而是提供了非常丰富的信息。
答案 0 :(得分:1)
您可以通过执行以下操作来计算PHP中任何代码的性能:
$msc = microtime(true);
// YOUR CODE
$msc = microtime(true)-$msc;
echo $msc;
答案 1 :(得分:1)
您可以使用不同的输入在下面的任何在线php编辑器中运行以下代码,并观察速度性能。
http://www.writephponline.com/
https://www.tutorialspoint.com/php_webview_online.php
<?php
$before = microtime(true);
$str = "http";
if (substr( $str, 0, 4 ) === "http") {
// true
}
echo "strlen performance ";
echo "Time: " . number_format(( microtime(true) - $before), 8) . " Seconds\n";
echo "\r\n";
$before = microtime(true);
if (strlen($str >= 4)) {
// true
}
echo "substr performance ";
echo "Time: " . number_format(( microtime(true) - $before), 8) . " Seconds\n";
echo "\r\n";
?>
根据上面代码片段的多个结果,substr在速度方面表现出更好的性能。在处理器负载方面,每个功能的汇编代码需要进行比较。