PHP语法糖

PHP语法糖就是PHP一些小的语法技巧
计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是方便程序员使用

1、echo 的逗号和点号

1
2
3
4
5
$foo = 'hello';
$bar = 'world';
echo $foo.$bar;

echo $foo,$bar;

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
11
echo()
print()
die()
isset()
unset()
include(),include_once()
require(),require_once()
array()
list()
empty()
evel()

所以说能用到这些语言结构时,就尽量不要用函数
如:

1
2
3
4
$subject = 'jiaobantang';
if(strlen($subject)<=8) echo '哈哈';
//换成
if(!isset($subject)[8] echo '哈哈';

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
2
3
4
5
#变长参数 不依赖 func_get_args()
function addAll(...$nums){
return array_sum($nums);
}
echo addAll(1,2,4,5,6,7)

10、函数赋值默认参数:+运算符

1
2
3
4
5
6
7
# 本用法特别适用于给函数赋值默认参数
function getDivHtml($params){
$params += [
'height'=>'200px'
]
print_r($params);
}

11、??运算符

1
2
3
4
#三元运算符
$userName = isset($_GET['username']) ? $_GET['username'] : 'nobody';
#这种情况下可以简写成
$userName =$_GET['username'] ?? 'nobody';

12、比较运算符

1
2
3
4
$num1 = $num2<=>$num3;
#如果$num2>$num3,$num1 = 1
#如果$num2==$num3,$num1 = 0
#如果$num2<$num3,$num1 = -1

13、神奇的eval

eval() 可以动态的执行任何PHP代码

 评论



本站使用 Material X 作为主题 , 总访问量为 次 。
隐藏