1.使用内嵌的HTML代码,而不是PHP的echo语句。
因为PHP是一门嵌入式Web编程语言,可以将HTML代码和PHP代码相互嵌入。但是很多程序员担心在HTML代码中过多的使用”"嵌入PHP代码会多次调用PHP解释器,从而降低了PHP代码的运行速度,所以宁愿使用PHP的echo语句来输出HTML代码,而不直接使用HTML代码。但事实却恰恰相反。每一个PHP页面只调用一次PHP解释器来解释所有的PHP代码,所以,只在需要时才嵌入PHP代码,而大多数的时候直接使用HTML代码输入结果,不但不会降低程序的运行速度,而且因为减少了对echo语句的解析,往往可以提高代码的运行速度。
2.尽量使用str-replace而不是ereg-replace
习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工作,因为在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。但是,下面的这段代码证明,使用str_replace 代替 ereg_replace将可以大大提高代码的运行速度。
3.注意字符串的引用
PHP和其它很多编程语言一样,可以使用双引号("")来引用字符串,也可以使用单引号()。但是在PHP中,如果使用双引号来引用字符串,那么PHP解析器将首先分析字符串中有没有对变量的引用,有变量的话,将对变量进行替换。如果是单引号,则没有如此复杂——直接将单引号包含起来的所有字符串直接显示出来。显然,在PHP编程中,如果使用单引号引用字符串变量要比使用双引号快速一些。
4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值
<!--p //不要这样做 for ($i=0;$i<=count($array);$i++){ ... } //应该这样做 $array_length = count($array); for ($i=0;$i<=$array_length;$i++){ ... } -->
5.注意include与require的区别
在PHP变成中,include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile
if($something){ include(“somefile.txt”); } 但不管$something取何值,下面的代码将把文件somefile包含进文件里: if($something){ require(“somefile.txt”); }
6.做数据库查询操作时,应尽量避免联合操作
比起其它的Web编程语言来说,PHP的数据库功能十分强大。
但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作,同时应该为数据库建立适当的索引。
另一件值得注意的事情是在用PHP操作数据库时,尽可能不使用多个数据表的联合操作,尽管联合操作可以增强数据库的查询功能,但是却大大增加了服务器的负担。
7.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME']要好过于用time()函数。
8.不一定必须要面向对象,面向对象是比较耗时的。有些简单的操作还是过程的快。
9.$row['id']的速度是$row[id]的7倍
10.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接
比如echo $str1,$str2。
11.当if…else…嵌套比较多时,应选择switch….case
12.将不用的mysql查询结果要及时地释放掉(mysql_free_result())
13.isset()和empty()的区别
两者都是测试变量用的
但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空
如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示
如果一个变量被赋空值,$foo=”"或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。
要注销一个变量,可以用 unset($foo)或者$foo=NULL
以上就是本文的全部内容了,希望大家能够喜欢。
注意事项 禁止使用$_GET、$_POST、$GLOBALS、$_SERVER、$_FILES、$_COOKIE、$_SESSION、$_REQUEST、$_ENV等超全局变量 谨慎使用global、static关键字 不要在代码非协程环境中执行sleep以及其他睡眠函数,这样会导致整个进程阻塞. exit/die 是危险的,会导致 worker 进程退出 不要在业务代码中使用 swoole 不支
主要内容:1.使用注解的方式,2.封装条件判断的方式,3.集合返回值 数据库的属性 idea插件,4.判断集合类型不为空的正确方式1.使用注解的方式 2.封装条件判断的方式 3.集合返回值, 数据库的属性, idea插件 集合的返回值不可为null 映射数据库的属性劲量不用基本数据类型 控制方法复杂度的方式 4.判断集合类型不为空的正确方式
主要内容:1.拆分合理,2.与前端交互,3.返回值设置,4.项目推荐1.拆分合理 2.与前端交互 3.返回值设置 4.项目推荐 推荐使用lombock 不要AService调用BMapper 少写工具类, 代码冗余 使用新技术
主要内容:1.如何封装业务逻辑,2.如何封装方法形参1.如何封装业务逻辑 因为业务逻辑过多的话, 可以尽量的去封装业务逻辑, 可以达到代码的复用和冗余度降低的目的。 2.如何封装方法形参 可以写个对象出来进行封装。可以利用Builder模式创建一个对象。
本文向大家介绍60条Android开发注意事项与经验总结,包括了60条Android开发注意事项与经验总结的使用技巧和注意事项,需要的朋友参考一下 1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。 2.数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰
本文向大家介绍spring boot中多线程开发的注意事项总结,包括了spring boot中多线程开发的注意事项总结的使用技巧和注意事项,需要的朋友参考一下 前言 Springt通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor。而实际开发中任务一般是非阻碍的,即异步的,所以我们要在配置