PHP7不向下兼容部分
本文主要目标版本是7.1。
1. 类型声明
PHP7下要求函数实参类型与声明了类型的形参类型一致。
可以使用字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool),数组(array),来声明函数的参数类型与函数返回值。
function s(string $a, array $b, int $c, float $d) {
echo "str a=$a c+d=".($c*$d).";\n";
}
s([], [], 2, 3.8);//Fatal error: Uncaught TypeError: Argument 1 passed to s() must be of the type string, array given
s(1.4, [], 2, 3.8);//str a=1.4 c+d=7.6;
s('a2', '', 2