function test($matches)
{
$fx = '';
if(strpos($matches[0],"http://")===false)
{
$fx = "http://";
}
elseif(strpos($matches[0],"http:/")===false)
{
$fx = "http:/";
}
elseif(strpos($matches[0],"http:")===false)
{
$fx = "http:";
}
elseif(strpos($matches[0],"http")===false)
{
$fx = "http";
}
return $fx.$matches[0];
}
或
function test($matches)
{
if(strpos($matches[0],"http://")===false)
{
return "http://".$matches[0];
}
elseif(strpos($matches[0],"http:/")===false)
{
return "http:/".$matches[0];
}
elseif(strpos($matches[0],"http:")===false)
{
return "http:".$matches[0];
}
elseif(strpos($matches[0],"http")===false)
{
return "http".$matches[0];
}
}
我正在尝试编写我的脚本,尽可能使用更少的内存,但idk有时代码看起来很难看,在我看来第一个脚本看起来更漂亮和有条理,但我认为它使用更多的服务器内存。 / p>
感谢。
答案 0 :(得分:2)
至于哪一个会使用更少的内存,我认为它们是等效的(两者都是最糟糕的情况)。
然而,至于它们的运行时间,第二个将比第一个快完成一小部分纳秒,因为它会在找到一个匹配条件后立即返回。 Big-O的所有差异都是常数,我们都知道它们没有区别:在最好的情况下O(3n)与O(n)相比,在最坏的情况下O(3n)与O(3n)相比(依赖)在$ match [0]的大小上。 但所有这些都严重依赖于strpos()函数的复杂性。
为了便于阅读,它们也是相同的书面和结构。