sgi*_*ons 24 php python arguments iterable-unpacking
Python提供了"*"运算符来解压缩元组列表并将它们作为参数提供给函数,如下所示:
args = [3, 6]
range(*args) # call with arguments unpacked from a list
Run Code Online (Sandbox Code Playgroud)
这相当于:
range(3, 6)
Run Code Online (Sandbox Code Playgroud)
有谁知道在PHP中是否有办法实现这一点?一些谷歌搜索"PHP解包"的变化并没有立即出现任何东西..也许它在PHP中被称为不同的东西?
Gre*_*reg 21
您可以call_user_func_array()用来实现:
call_user_func_array("range", $args); 用你的例子.
Sal*_*ali 18
在php5.6该...运营商已经加入.使用它,你可以摆脱call_user_func_array()这个更简单的选择.例如具有功能
function add($a, $b){
return $a + $b;
}
Run Code Online (Sandbox Code Playgroud)
和你的数组$list = [4, 6];(在php5.5之后你可以用这种方式声明数组).你可以打电话给你的函数...:
echo add(...$list);
在某些情况下,您可能会考虑使用unpacking,这在php中是可能的,与python类似:
list($min, $max) = [3, 6];
range($min, $max);
Run Code Online (Sandbox Code Playgroud)
至少这就是我到达此答案的方式。谷歌搜索:PHP argument unpacking
| 归档时间: |
|
| 查看次数: |
11009 次 |
| 最近记录: |