常量语法
- 使用define()来定义常量,5.3之后,可以使用const;
- 和使用 define() 来定义常量相反的是,使用 const 关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。这就意味着不能在函数内,循环内以及 if 语句之内用 const 来定义常量。
- 常量只能包含标量数据,可以定义resource常量,但结果不可预料;
常量和变量有如下不同:
- 常量前面没有美元符号($);
- 常量只能用 define() 函数定义,而不能通过赋值语句;
- 常量可以不用理会变量的作用域而在任何地方定义和访问;
- 常量一旦定义就不能被重新定义或者取消定义;
- 常量的值只能是标量。
常见的魔术常量:LINE, FILE, DIR, FUNCTION, CLASS, TRAIT, METHOD, NAMESPACE
运算符优先级
- 运算符优先级指定了两个表达式绑定得有多"紧密";
- 如果运算符优先级相同,那运算符的结合方向决定了该如何运算;
- 没有结合的相同优先级的运算符不能连在一起使用;
- 括号的使用,哪怕在不是必要的场合下,通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性;
- 最高优先级为clone和new,最低是or;
算术运算符
- $a ** $b: a 的 a的 a的b级阶乘;
赋值运算
对象是引用赋值,其他都是传值赋值
位运算符
运算符:& | ^ ~ << >>