您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 信阳分类信息网,免费分类信息发布

PHP代码优化_PHP教程

2024/4/6 23:12:54发布7次查看
1. 不要随便就复制变量
有时候为了使php 代码更加整洁,一些php 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入512kb 字节的文字到文本输入框中,这样就会导致1mb 的内存被消耗!
bad:
$description = $_post['description']; echo $description;
good:
echo $_post['description'];
2. 对字符串使用单引号
php 引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉php 引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。最好是使用字符串连接而不是双引号字符串。
bad:
$output = this is a plain string;
good:
$output = 'this is a plain string';
bad:
$type = mixed; $output = this is a $type string;
good:
$type = 'mixed'; $output = 'this is a ' . $type .' string';
3. 使用echo 函数来输出字符串
使用echo() 函数来打印结果出了有更容易阅读之外,在下个例子中,你还可以看到有更好的性能。
bad:
print($myvariable);
good:
echo $myvariable;
4. 不要在echo 中使用连接符
很多php 程序员(有包括我)不知道在用 恶臭 输出多个变量的时候,其实可以使用逗号来分开的,而不必用字符串先把他们先连起来,如下面的第一个例子中,由于使用了连接符就会有性能问题,因为这样就会需要php 引擎首先把所有的变量连接起来,然后在输出,而在第二个例子中,php 引擎就会按照循序输出他们。
bad:
echo 'hello, my name is' . $firstname . $lastname . ' and i live in ' . $city;
good:
echo 'hello, my name is' , $firstname , $lastname , ' and i live in ' , $city;
5. 使用switch/case 代替if/else
对于只有单个变量的判断,使用switch/case 语句而不是if/else 语句,会有更好的性能,并且代码更加容易阅读和维护。
bad:
if($_post['action'] == 'add') { adduser(); } elseif ($_post['action'] == 'delete') { deleteuser(); } elseif ($_post['action'] == 'edit') { edituser(); } else { defaultaction(); }
good:
switch($_post['action']) { case 'add': adduser(); break; case 'delete': deleteuser(); break; case 'edit': edituser(); break; default: defaultaction(); break; }
http://www.bkjia.com/phpjc/478724.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/478724.htmltecharticle1. 不要随便就复制变量 有时候为了使php 代码更加整洁,一些php 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实...
信阳分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录