<?php
class A {
public static function who(){
echo __CLASS__;
}
public static function test(){
echo static::who();
}
public static function test2(){
echo self::who();
}
}
class B extends A{
public static function who(){
echo __CLASS__;
}
}
A::test();//输出A
A::test2();//输出A
b::test();//输出B 晚期静态绑定会绑定到调用类
b::test2();//输出A 直接绑定会绑定到方法所在类晚期静态绑定是使用static代替self,self会指向方法所在类,static会指向后期调用者。
<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
//输出Bar当需要跳出多层循环时,必须要增加判断才可以,而goto可以直接跳出循环,与C语言类似。
从php5.3开始支持三元运算符?:。例如$a ?: $b,$a为真值返回$a,否则返回$b。其效果等同于$a ? $a : $b。
<?php
$a = false;
$a = $a?:1;
echo $a;//输出1
$a = 1220;
$a = $a?:1;
echo $a;//输出1220const ONE = 1;
const TWO = ONE + 1;//仅可以为常量的结果
const Arr = [1,2];function sum(...params){
return array_sum(params);
}
sum(1, 2, 9); //12
sum(...[1,2,9]);//12 注意:只能传数字下标数组,不能穿带有键名的数组3 ** 4; //81
暂时没有留言