php 字符串编码-您在使用 PHP 编写代码时是否经常注意到此类问题?

2023-08-26 0 5,796 百度已收录

想要编写出好的代码,这需要你在中韩两国的日常开发中积累。 如果你平时注意到下面的代码,那么恭喜你,你在技术提升方面已经打下了一些基础,并且编出了好的代码,说白了,就是你注意到了性能的问题。 代码优化也是性能优化的一部分。 拿出来看看,平时需要注意编码。 也希望你能养成良好的习惯!

1.使用单冒号而不是双冒号来包含字符串,这样会更快。 由于PHP会搜索双冒号包围的字符串中的变量,单冒号不会,注意:只有echo可以做到这一点,它是一个可以接受多个字符串作为参数的“函数”(这个翻译:在PHP指南中是这样说的) echo 是一种语言结构,而不是一个真正的函数,因此该函数添加了双冒号)。

2、如果能将类的方法定义为静态,尽量定义为静态,其速度会提高近4倍。

3、$row['id']的速率是$row[id]的7倍。

4. echo 比 print 快,并且使用 echo 的多个参数(这个翻译:指的是冒号而不是句号)来代替字符串连接,如 echo $str1,$str2。

5. 在执行for循环之前确定最大循环次数。 不要估计每个循环的最大值。 最好使用 foreach 来代替。

6.取消这些未使用的变量,尤其是大字段,以方便释放显存。

7.尽量避免使用__get、__set、__autoload。

8. require_once() 很昂贵。

php 字符串编码-您在使用 PHP 编写代码时是否经常注意到此类问题?

9、包含文件时尽量使用绝对路径,因为这样可以避免PHP在include_path中查找文件的速度变慢,解析操作系统路径所需的时间会更少。

10.如果想知道脚本什么时候开始执行(这个翻译:即服务器收到客户端的请求),最好使用$_SERVER['REQUEST_TIME']而不是time()

11、函数替换正则表达式,完成同样的功能。

12. str_replace函数比preg_replace函数更快,但是strtr函数比str_replace函数效率高四倍。

13、如果一个字符串替换函数可以接受链表或者字符作为参数,并且参数粗细也不太长,那么可以考虑额外写一段替换代码,这样每次都将参数作为字符传递,而不是只写一行代码接受一个数组作为查询和替换的参数。

14、使用替代分支语句(本译:switchcase)比使用多个if和elseif语句更好。

15、用@屏蔽错误信息的做法是非常低效的,非常低效的。

16、打开apache的mod_deflate模块,可以提高网页的浏览速度。

17、数据库连接用完后应关闭,不要使用长连接。

php 字符串编码-您在使用 PHP 编写代码时是否经常注意到此类问题?

18. 错误信息的代价是高昂的。

19.方法中增加局部变量,速度最快。 几乎与在函数中调用局部变量一样快。

20. 递增全局变量比递增局部变量慢 2 倍。

21. 增加一个对象属性(如:$this->prop++)比增加一个局部变量慢3倍。

22. 递增未定义的局部变量比递增预定义的局部变量慢 9 到 10 倍。

23、只定义局部变量而不在函数中调用它也会降低速度(程度相当于局部变量自增)。 PHP 可能会检查是否存在全局变量。

24.方法调用似乎与类中定义的方法数量无关,因为我添加了10个方法(测试方法之前和之后),但性能没有变化。

25. 派生类中的方法比子类中定义的相同技术运行得更快。

26. 调用一个带有一个参数的空函数需要 7 到 8 个局部变量增量。 以类似方式调用所花费的时间接近 15 次局部变量增量操作

php 字符串编码-您在使用 PHP 编写代码时是否经常注意到此类问题?

27. Apache 解析 PHP 脚本的速度比解析静态 HTML 页面慢 2 到 10 倍。 尽量使用静态 HTML 页面,少用脚本。

28.除非脚本可以缓存,否则每次调用都会重新编译。 引入PHP缓存机制一般可以提高25%到100%的性能,以降低编译成本。

29.尝试做缓存,可以使用memcached。 memcached 是一个高性能视频内存对象缓存系统,可用于加速动态 Web 应用程序并减少数据库负载。 操作码的缓存很有用,这样就不必为每个请求重新编译脚本。

30、当操作一个字符串,需要检查其粗细是否满足一定要求时,就会贸然使用strlen()函数。 这个函数执行得相当快,因为​​它不做任何计算,它只是返回存储在 zval 结构(C 的外部数据结构,用于存储 PHP 变量)中的已知字符串厚度。 而且,因为strlen()是一个函数,所以会有些慢,因为函数调用会经过很多步骤,比如字母的大小写(这个翻译:指函数名的大小写,PHP不区分大小写)函数名),哈希查找,将与被调用的函数一起执行。 在极少数情况下,您可以使用 isset() 方法来加快代码的执行速度。 (示例如下) if(strlen($foo)<5){echo "Fooistooshort"$$} (与下面的方法比较) if(!isset($foo{5})){echo "Fooistooshort"$$}调用 isset() 恰好比 strlen() 更快,因为与前者不同,isset() 是一种语言构造,这意味着它的执行不需要函数查找和字母大写。 也就是说,您实际上并没有在检查字符串宽度的顶层代码中花费太多开销。

31. 当执行变量$i的递增或递减时,$i++会比++$i慢。 这些差异是 PHP 特有的,不适用于其他语言,因此请不要更改您的 C 或 Java 代码并期望它们立即更快,这是行不通的。 ++$i 更快,因为它只需要 3 条指令(操作码),而 $i++ 需要 4 条指令。 预递增实际上形成一个临时变量,然后再递增。 后自增直接在原值上自增。 这是一种优化,由 Zend 的 PHP 优化器完成。 记住这种优化是个好主意,因为并非所有的优化器都会进行相同的优化,但有很多互联网服务提供商 (ISP) 和服务器没有安装优化器。

32. 不一定要面向对象(OOP)。 面向对象往往是昂贵的,每个方法和对象调用都会消耗大量的显存。

33、不一定要用类来实现所有的数据结构,链表也很有用。

34.不要把方法细分太多,仔细想想你真正要复用的代码是什么?

35. 当你需要的时候,你总是可以将代码分解为方法。

36.尽量使用大量PHP外部函数。

37、如果代码中有大量耗时的函数,可以考虑以C扩展的形式实现。

38. 分析您的代码。 检查器会告诉您代码的哪一部分花费了多少时间。 Xdebug 调试器包括检查程序php 字符串编码,评估检查通常可以显示代码困难。

39. mod_zip可以用作Apache模块来立即压缩您的数据并将数据传输量增加80%。

40、当file_get_contents可以用来替代file、fopen、feof、fgets等系列方法时,尽量使用file_get_contents,因为它的效率要高很多! 并且在打开URL文件时注意PHP版本的file_get_contents;

41、尽量少做文件操作php 字符串编码,虽然PHP的文件操作效率不低;

42、优化SelectSQL语句,尽量少执行Insert和Update操作(在update上,我被骂得很惨);

43. 尽可能使用PHP内部函数(而且我浪费了本来可以写自定义函数的时间来寻找PHP中不存在的函数,经验是个问题!);

44、不要在循环内部声明变量,尤其是大变量:对象(这似乎不仅仅是PHP中应该注意的问题?);

45、多维链表尽量不要循环嵌套形参;

46.当可以使用PHP内部字符串操作函数时,不要使用正则表达式;

47、foreach效率更高,尽量用foreach代替while和for循环;

48、使用单冒号代替双冒号来引用字符串;

49、“将i=i+1替换为i+=1,符合c/c++的习惯,效率更高”

50、对于全局变量,unset()应该用完;

以上内容希望对您有所帮助。 如有需要,可以添加下方二维码进群交流,学习新技术。

如果你想和PHP高手交流,加Momo拉你进群

如果你想获取学习资料,添加Momo,给你发资源

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php 字符串编码-您在使用 PHP 编写代码时是否经常注意到此类问题? https://www.wkzy.net/game/161060.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务