php提高网站效率的技巧
程序员在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少。往往我们在追求这些的却失去了很多东西。优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。以下就几点PHP的优化做下
1、in_array的用法
避免在大的数组上使用in_array(),避免在循环中对包含20个以上元素的数组使用这个函数。in_array()会非常消耗资源.对于小的数组这种影响可能很小,在一个循环中检查大数组可能会需要好几秒钟的时间。如果您确实需要这个功能,请使用isset()来查找数组元素。实际上是使用键名来查询键值。调用isset($array[$var])会比in_array($var,array_keys($array))要快得多。
2、数组键名
在PHP中,使用不经单引号包含的字符串作为数组键名是合法的,我们不希望如此--键名应该总是由单引号包含而避免引起混淆。注意这是使用一个字符串,而不是使用变量做键名的情况。
例如
// 不好的写法 $foo = $assoc_array[blah]; // 好的写法 $foo = $assoc_array['blah']; // 不好的写法 $foo = $assoc_array["$var"]; // 好的写法 $foo = $assoc_array[$var];
3、字符串表达
在PHP中用两种不同的方式来表示一个字符串-单引号或者双引号。主要的区别在于语法解释器会对双引号表示的字符串进行变量替换,而不会处理单引号表示的字符串。您应该总是使用单引号,除非您真的需要在字符串中处理变量。这样,我们可以减少程序运行消耗,因为语法解释器不需要每次多处理一大堆根本没有变量的字符串。
同样,如果您在函数调用中使用了一个字符串变量作为参数,您不需要将这个变量包含在引号里。这会导致语法解释器多做好多无用功。记住,几乎所有双引号中的转义符对于单引号都是无效的。您需要留意以上的规则,有时候为了代码的可读性,可以适当的破例。
例如
// 不好的写法 $str = "This is a really long string with no variables for the parser to find."; do_stuff("$str"); // 好的写法 $str = 'This is a really long string with no variables for the parser to find.'; do_stuff($str); // 有时候单引号不是那么合适 $post_url = $phpbb_root_path . 'posting.' . $phpEx . '?mode=' . $mode . '&start=' . $start; // 双引号有时候能让代码行更集中 $post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&start=$start";
4、循环定义中的操作
在比较部分如果存在运算请一定要进行优化。因为这部分会在循环中的每一步进行操作
// 在每次循环中sizeof函数都要被调用 for ($i = 0; $i < sizeof($post_data); $i++) { do_something(); } // 您可以在循环起始部分对这个不变的量赋值 for ($i = 0, $size = sizeof($post_data); $i < $size; $i++) { do_something(); }
5、分支判断,switchcase好于ifelse
使用分支语句要比用很多ifelse好很多。
6、不要滥用@操作符
不要滥用@操作符,看上去很简单,但实际上用@比不用@效率要差几倍。
特别不要在循环中使用@。
7、获取时间的方法
很多时候我们习惯使用time()获取当前时间,但time()终归是一个函数,不如直接用$_SERVER['REQUEST_TIME']好一点。
8、字符串长度判断
两种写法
(1)if(strlen($str) < 5){/ do something
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指