在 PHP 中将数组作为参数列表传递
在 PHP 中,有多种方法将数组作为参数列表传递给函数。 PHP 5.6 中引入的一种方法是将可变参数函数功能与 ... (splat) 运算符结合使用。
要使用 splat 运算符:
function variadic($arg1, $arg2) { echo $arg1 . ' ' . $arg2; } $array = ['Hello', 'World']; variadic(...$array); // Output: 'Hello World'
索引数组项根据其位置映射到函数参数,而不是它们的键。
从 PHP8 开始,命名参数允许您在解包时使用关联数组的命名键:
$array = [ 'arg2' => 'Hello', 'arg1' => 'World', ]; variadic(...$array); // Output: 'World Hello'
将数组作为参数传递的另一种方法是使用call_user_func_array() 函数:
function my_callback($name, $age) { echo $name . ' is ' . $age . ' years old.'; } $data = ['John', 25]; call_user_func_array('my_callback', $data); // Output: 'John is 25 years old.'
此方法接受值数组并将它们解压缩为函数的单独参数。但是,它比 splat 运算符方法慢。
以上是如何将数组作为参数列表传递给 PHP 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!