php7函数返回值,php7函数,声明,返回值等新特性介绍

使用 ... 运算符定义变长参数函数 (PHP 5 >= 5.6.0, PHP 7)

现在可以不依赖 func_get_args(), 使用 ... 运算符 来实现 变长参数函数。

function f($req, $opt = null, ...$params) {//$params 是一个包含了剩余参数的数组

printf('$req: %d; $opt: %d; number of params: %d'."\n",

$req, $opt, count($params));

}

f(1);

f(1, 2);

f(1, 2, 3);

f(1, 2, 3, 4);

f(1, 2, 3, 4, 5);

以上例程会输出:

$req: 1; $opt: 0; number of params: 0

$req: 1; $opt: 2; number of params: 0

$req: 1; $opt: 2; number of params: 1

$req: 1; $opt: 2; number of params: 2

$req: 1; $opt: 2; number of params: 3

使用 ... 运算符进行参数展开 (PHP 5 >= 5.6.0, PHP 7)

在调用函数的时候,使用 ... 运算符, 将 数组 和 可遍历 对象展开为函数参数。 在其他编程语言,比如 Ruby中,这被称为连接运算符,。

function add($a, $b, $c) {return $a + $b + $c;

}$operators = [2, 3];echo add(1, ...$operators);

以上例程会输出:

6

use function 以及 use const (PHP 5 >= 5.6.0, PHP 7)

use 运算符 被进行了扩展以支持在类中导入外部的函数和常量。 对应的结构为 use function 和 use const。

namespace Name\Space {const FOO = 42;function f() { echo FUNCTION."\n"; }

}

namespace {use constName\Space\FOO;use functionName\Space\f;echo FOO."\n";

f();

}

以上例程会输出:

42

Name\Space\f

debugInfo() (PHP 5 >= 5.6.0, PHP 7)

加入 debugInfo(), 当使用 var_dump() 输出对象的时候, 可以用来控制要输出的属性和值。

classC {private $prop;public function construct($val) {$this->prop = $val;

}public functiondebugInfo() {return['propSquared' => $this->prop ** 2,];

}

}var_dump(new C(42));

以上例程会输出:

function arraysSum(array ...$arrays): array{return array_map(function(array $array):int {return array_sum($array);

}, $arrays);

}print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

以上例程会输出:

php7函数,声明,返回值等新特性介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值