PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

一.字符串

1.1少用正则表达式

能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式,因为其效率高于正则。

没得说,正则最耗性能。

str_replace函数要比preg_replace快得多,strtr函数又比str_replace来得快。

有没有你漏掉的好用的函数?

例如:strpbrk()、strncasecmp()、strpos()、strrpos()、stripos()、strripos()。

1.2字符替换

如果需要转换的全是单个字符,用字符串作为strtr()函数完成替换,而不是数组:

效率提升:10倍。

str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4。

另外,不要做无谓的替换,即使没有替换,str_replace也会为其参数分配内存。很慢!

用strpos先查找(非常快),看是否需要替换,如果需要,再替换。

如果需要替换,效率几乎相等,差别在0.1%左右。

如果不需要替换:用strpos快200%。

1.3压缩大的字符串

使用gzcompress()和gzuncompress()对容量大的字符串进行压缩和解压,再存入和取出数据库。

这种内置的函数使用gzip算法,能压缩字符串90%。

1.4 echo输出

echo字符串用逗号代替点连接符更快些。

虽然,echo是一种语言结构,不是真正的函数。

但是,它可以把逗号隔开的多个字符串当作“函数”参数传入,所以速度会更快。

1.5尽量用单引号

PHP引擎允许使用单引号和双引号来封装字符串变量,但是它们的速度是有很大的差别的!

使用双引号的字符串会告诉PHP引擎,首先去读取字符串内容,查找其中的变量,并改为变量对应的值。

一般来说字符串是没有变量的,使用双引号会导致性能不佳。

最好使用字符串连接,而不是双引号字符串。

$output ="This is a plain

string";//不好的实践

$output ='This is a plain string';//好的实践

$type ="mixed";//不好的实践

$output ="This is a $type

string";$type ='mixed';//好的实践

$output ='This is a '. $type .' string';

1.6使用isset代替strlen

在检验字符串长度时,我们第一想法会使用strlen()函数。

此函数执行起来相当快,因为它不做任何计算,只返回在zval结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。

但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化、哈希查找,会跟随被调用的函数一起执行。

在某些情况下,你可以使用isset()技巧加速执行你的代码。例如:

1.7用split分割字符串

在分割字符串时,split()要比explode()快。

1.8 echo效率高于print

因为echo没有返回值,print返回一个整型。

注意:echo输出大字符串的时候,如果没有调整就会严重影响性能。

打开Apache的mod_deflate进行压缩,或者打开ob_start将内容放进缓冲区,可以改善性能问题。

php作为开发类的一个语言,现在受到越来越多人的关注,选择合肥PHP培训,不再孤军奋战,轻轻松松做IT高薪白领。合肥达内PHP培训带领有明确目标的学子迈向成功之路!

*版权声明:转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

php语言中字符,PHP开发语言中字符窜的高效率写法相关推荐

  1. php语言与jsp,关于开发语言之PHP JSP与ASP NET对比浅析

    关于开发语言之PHP JSP与http://www.doczj.com/doc/140b0d8802020740be1e9bb7.html对比浅析 [摘要]在21世纪的今天,网络成为了我们生活的每日必 ...

  2. php类的开发语言,php是什么开发语言

    PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言. PHP独特的语法混合了C.Java.Perl以及 PHP ...

  3. 适合人工智能AI的编程语言有哪些 哪些语言适用于人工智能 人工智能开发语言排行榜

    人工智能ai用什么编程语言_用于AI开发的6种最佳编程语言 人工智能ai用什么编程语言_用于AI开发的6种最佳编程语言_cxq8989的博客-CSDN博客 最适合人工智能开发的六种编程语言 最适合人工 ...

  4. bim的二次开发需要什么语言_CAD二次开发语言简介

    CAD二次开发,有很多不同层次的语言和库可供选择. 首先是VisualLisp和AutoLisp.Lisp是一门历史悠久的函数式编程语言,很多概念和C这种过程式语言不一样,据说他在人工智能等方面有广泛 ...

  5. OEA 中的多国语言实现

    本篇博客主要描述在 OEA 框架中的多国语言框架的原理及应用. 多国语言常见实现及原理分析 管理软件平台,一般来说,都应该支持多国语言,以支持应用程序走向国际化.OEA 最近也提供了多国语言框架,它可 ...

  6. web开发语言大盘点

    Web 开发与设计语言的层级 Web 语言按层级分,传统上是这样分的,标记层(HTML),修饰层(CSS),客户端脚本层(JavaScript),服务器端(PHP,ASP.NET).如果按功用分,参看 ...

  7. Webpack中的sourcemap以及如何在生产和开发环境中合理的设置sourcemap的类型

    简要介绍:在webpack的官网,给出了十几种sourcemap,那么每一种sourcemap之间有什么区别,本文在理解sourcemap的基础上,分析在生产和开发环境中,应该采用何种形式的sourc ...

  8. 架构与开发语言 购OA最重要的两个核心

    OA 软件产品的技术架构与开发语言决定了其核心产品的拓展性和跨平台对接等诸多元素结构,最直接的结果是导致产品的二次开发困难.插件组合对接实施困难.跨平台数据对接.维护成本高昂,而负责采购OA产品的技术 ...

  9. 区块链开发语言python_6种最常见的区块链编程语言

    无论您是在寻找区块链开发工作还是只想了解幕后发生的事情,您都需要选择正确的语言来编写区块链.下面列出的六种语言是区块链开发领域中目前最热门的编程语言. 1. C ++ C ++是一种经得起考验的编程语 ...

最新文章

  1. SAP MM 事务代码RWBE查询库存
  2. #pragma pack(1)的作用
  3. sublime text3搭建react native
  4. 计算机英语audios啥意思,2020考研英语词汇:audio是什么意思
  5. 【MySQL】MySQL 管理员必备技能 用户 权限 管理
  6. Linux学习一周初体验
  7. pdf python 3.7编程快速入门 潘中强_无python基础,这些书籍可以帮您快速入门。
  8. 时间序列-N_LSTM
  9. 删除word文档中的空白页
  10. mysql的append用法_insert 中append 用法详解
  11. UE4开发五:人物模型和摄像机
  12. 综合日语第一册第八课
  13. 京东上位2018年财富中国500强民企第一席 首次实现全年盈利
  14. (《机器学习》完整版系列)附录 ——7、有趣的距离与范数(距离是两点之间的,如果将一个点固定在原点,则为向量的范数)
  15. 15数字华容道解法 图解_华容道解法图
  16. Web前端基础笔记:第十章 CSS-背景
  17. 共享汽车一种新型的交通方式
  18. 203. 电子编程入门到工程师--逆推原理图(电源部分)
  19. Azure IoT Hub DPS custom allocation policies by functions- 在DPS中启用设备自定义分配策略
  20. 5 分钟,教你用 Python 制作一个生日提醒!

热门文章

  1. centos删除php_Linux CentOS完全卸载PHP
  2. 华为平板解锁工具_2020年备战考研必选8款平板电脑 平板电脑推荐(12月最新版)...
  3. Java正则表达式实现计算器_用java编写win7计算器
  4. Spark2.0流式处理读Kafka并写ES
  5. CPU亲缘性及网卡中断绑定
  6. 23. Spring Boot启动加载数据CommandLineRunner【从零开始学Spring Boot】
  7. 删除jar包中的指定文件
  8. 开源跳板机(堡垒机)Jumpserver v2.0.0 部署篇
  9. 快速安装LNMP环境
  10. Linux系统/网络管理