PHP语法糖
PHP语法糖就是PHP一些小的语法技巧
计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是方便程序员使用
1、echo 的逗号和点号
1 | $foo = 'hello'; |
2、逗号优于点号
echo是PHP的语言结构,用逗号是依次输出变量,点号连接操作会占用内存…
3、用$i+=1代替$i=$i+1、$i++、++$i
额…你就知道效率高就行了
4、用isset代替strlen
PHP语言里有一些东西看起来像函数,实际上是语言结构,语言结构要比普通函数的优先级高,也会更快,PHP常见的语言结构有:1
2
3
4
5
6
7
8
9
10
11echo()
print()
die()
isset()
unset()
include(),include_once()
require(),require_once()
array()
list()
empty()
evel()
所以说能用到这些语言结构时,就尽量不要用函数
如:
1 | $subject = 'jiaobantang'; |
5、用strtr代替str_replace
6、PHP用yield实现协程
yield会保存当前程序运行的状态(了解更多请去百度)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17/*
我们写一个函数xrange()函数提供和PHP的内置函数range()一样的功能
*/
//循环输出一个0到10000的数组,这个大数组实在内存中被真实构建的
foreach(range(0,10000) as $number){
echo $number;
}
//但如果我想节省内存,每次在这个基础上加1就行了,这个时候我们就可以用协程来实现
function xrange($start,$end,$step = 1){
for($i = $start;$i <= $end; $i += $step){
yield $i;
}
}
foreach (xrange(1,10000) as $num){
echo $num,"\n";
}
7、用“[]”定义数组
8、用**进行幂运算
9、用“…”定义变长参数数组
1 | #变长参数 不依赖 func_get_args() |
10、函数赋值默认参数:+运算符
1 | # 本用法特别适用于给函数赋值默认参数 |
11、??运算符
1 | #三元运算符 |
12、比较运算符
1 | $num1 = $num2<=>$num3; |
13、神奇的eval
eval() 可以动态的执行任何PHP代码
…