## 一、在判断元素是否在数组中的时候,尽量使用strict模式,把第三个参数设为true,连类型一起判断,不然在大数据处理的时候,php会进行隐式的类型转换,造成不必须的性能开销
~~~
in_array('a', ['a', 'b', 'c'], true)
~~~
## 二、数据库连接使用后要及时关掉,不要使用长连接
## 三、明知可能会产生错误,要尽量找出错误解决掉,而不要使用@屏蔽错误,实在不行可以使用try catch
## 四、在做字符串替换的时候,尽量使用str_replace,因为str_replace比preg_replace快4倍
## 五、include 文件时尽量使用绝对路径,因为它避免了 PHP 去 include_path 里查找文件的速 度,解析操作系统路径所需的时间会更少
## 六、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢 3 倍
## 七、有内部函数尽量使用内部函数不要使用正则
## 八、尽量对使用缓存
## 九、使用生成器
示例1:1秒输出一次
~~~
function createRange($number){
for($i=0;$i<$number;$i++){
yield time();
}
}
$result = createRange(10); // 这里调用上面我们创建的函数
foreach($result as $value){
sleep(1);
echo $value.'<br />';
}
~~~
![](https://box.kancloud.cn/9e29d6157eaa86b944102e062bb995b5_840x116.gif)
示例2:一行一行输入txt内容
~~~
function readTxt() {
$handle = fopen("./test.txt", 'rb');
while (feof($handle)===false) {
yield fgets($handle);
}
fclose($handle);
}
foreach (readTxt() as $key => $value) {
echo $value.'<br />';
}
~~~