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 循环之前确定最大循环数, 不要每循环一次都计算最大值
代码如下:
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. 当 ifelse 嵌套比较多时, 应选择 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
来源: https://www.php1.cn/detail/php-0383195022.html