可变函数,如果变量名后面有圆括号,就会寻找与变量名相同的函数。可以用来实现回调函数等。支持对象的方法,静态方法(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)