可变函数,如果变量名后面有圆括号,就会寻找与变量名相同的函数。可以用来实现回调函数等。支持对象的方法,静态方法(php7)
//php5.6
function sum(...$nums){
$result = 0;
foreach($nums as $num){
$result += $num;
}
return $result;
}
sum(1,2,3);
function add($a,$b){
return ....
}
add(...[1,2])//php5.5
function sum(){
$acc=0
foreach(func_get_args() as $n){
$acc+=$n;
}
return $acc;
}
sum(1,2,3);
可以声明严格模式
declare(strict_type=1); //php7.0+
可以规定参数等的数据类型,就和c++那样了。
函数不需要在调用前定义,除非是有条件的定义(包含在闭包里面的函数定义),这时候就需要定义过了之后才能调用。
if($isa){
function xxx(){}
}
可以用:的方式
if():
elseif:
endif;
goto a;
a:飞向语句
. .=字符串连接
数组运算符和普通算数操作符那样
instanceof 判断类型运算符是否是那个类的对象
++$a 前加 先加再返回
$a++ 后加 先返回后加
--同理
&& and 与
|| or 或
xor 异或
! 非
反引号(``),PHP会尝试将反引号运算符的内容作为shell命令执行,并返回输出信息,与函数shell_exec()相同。
在表达式前面加@,可以忽略该表达式的错误信息
==等于
===全等(类型也要相同)
!= <>不等
!==不全等
<小于
<=小于等于
>=大于等于
<=>结合比较运算符(当第一个数小于等于大于$b时,分别返回一个小于、等于、大于0的integer值,php7)
$a??$b??$c NULL合并操作符(从左往右返回第一个存在且不为NULL的操作数。如果都没有定义且不为NULL,则返回NULL,PHP7)