天天看点

PHP 代码优化点汇总

1.合理使用unset函数[并不是使用unset()就一定会释放内存]

参考:

https://www.jb51.net/article/30740.htm

$data = array_values($data);

//数据处理【将数据按照[rule]进行降序排列】

$data = array_map(function ($v) {

    $v['rule_count'] = count($v['rule']);

    return $v;

}

, $data);

$newData = [];

foreach ($data as $key => $value) {

    $newData[$key] = $value['rule_count'];

}

arsort($newData) $tmp = [];

foreach ($newData as $newKey => $newValue) {

    $tmp[] = $data[$newKey];

}

$data = $tmp;

$mm = memory_get_usage(); //获取占用的内存 

var_dump($mm); 

unset($newData); 

unset($tmp); 

mm = memory_get_usage(); 

var_dump($mm); 

exit;

打印结果:

int(7047216)

int(7025672)

说明: 内存有释放

2.收集

1.PHP代码优化的目的是为了提高PHP程序的执行效率,编写PHP代码时,可以从以下方面着手优化:

1.1. 用单引号代替双引号来包含字符串

1.2. 如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍

3. 用 echo 代替 print,效率更好

4. 及时注销不用的变量,尤其是大数组,以便释放内存

5. 尽量避免使用__get(),__set(),__autoload()

6. require_once()代价昂贵,尽量少用

7. 尽量用函数代替正则表达式完成相同的功能

8. str_replace 函数比 preg_replace 函数快

9. 使用分支语句(即 switch case)好于使用多个 if,else if 语句

10. 用@屏蔽错误消息的做法非常低效

11. 当执行变量$i的递增或递减时,++$i 会比 $i++ 快一些

12. 尽量使用PHP的内置函数

13. 循环体内部不要声明变量,尤其是大变量

14. foreach 效率更高,尽量用 foreach 代替 while 和 for 循环

15. 用 $i+=1 代替 $i=$i+1,效率更高 

16. 对于 global 全局变量,用完后立即 unset() 掉 

17. 适当地做一些缓存处理

2.PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性:  //20191016 科兴科学园

    unix系列用 \n

    windows系列用 \r\n

    mac用 \r

<?php

echo PHP_EOL;

//windows平台相当于    echo "\r\n";

//unix\linux平台相当于    echo "\n";

//mac平台相当于    echo "\r";

后续补充

...

3.参考

https://blog.csdn.net/lamp_yang_3533/article/details/50771456

后续补充

...