PHP影片教學
》在本文中,我想介紹一些替代方案。如果您正在尋找可能減少生產中執行時間的可能性,這將很有用。讓我們來看看,哪種PHP方法可能會被效能更高的方法所取代,以及是否有成本或折衷的問題。
1.刪除重複項array_unique($array);
array_keys(array_flip($array));
787.31毫秒
|
array_keys |
434.03毫秒
|
替代方法在此測量中快 |
用值替換了鍵。
2.取得隨機數組記錄
常規
array_rand($array);
$array[mt_rand(0, count($array) - 1)];
|
#mt_rand |
| 替代方法是此測量速度快27.3倍 | (96.33%)。平均而言,速度提高了約8倍(87%)。這個結果特別令人驚訝,因為
3.測試字母數字字元
您有一個字串,要測試,如果它只包含字母數字字元。
preg_match('/^[a-zA-Z0-9]+$/', $string);
ctype_alnum($string);
##preg_match | ||||||
---|---|---|---|---|---|---|
ctype_alnum |
2.06毫秒 | |||||
#<p>在此测量中,替代方法快了<strong>7.5倍</strong>(86.59%)。平均而言,速度提高了约4倍(76%)。可以将相同的内容应用于<code>ctype_alpha() (检查字母字符)和ctype_digit() (检查数字字符)。4.替换子字符串您有一个字符串,想要用另一个子字符串替换它的一部分。 常规str_replace('a', 'b', $string); 替代strtr($string, 'a', 'b'); 表现我创建了一个包含500万个随机字符串的数组。这是最佳结果:
另一种方法是2.2倍(54.83%)在该测量更快。平均而言,速度提高了约2倍(51%)。 其他性能改进这是我整合到我的编码约定中的一些其他要点,发现它们可以稍微改善性能(如果适用):
最后几句话:我知道有关过早优化的讨论。我同意生产中的性能取决于瓶颈,例如数据库查询,在处理性能时应重点关注。但是我认为,如果有更快的替代方法,例如在正则表达式更易于处理和维护的情况下,为什么不使用它们呢? 最后我们已经看到,即使使用当前的PHP 7.4(已经比以前的PHP版本快很多),也可以通过其他方法来提高脚本性能。如果您想亲自验证本文中提供的数据,我创建了一个包含所有测试的存储库:
我使用了Bart van Hoekelen的出色工具来衡量执行时间。 转载自:Andreas |
以上是分享4個提升腳本效能的PHP技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!