PHP 函数可以接受无限数量的参数吗?

2022-08-30 16:57:48

在PHP中,有类似的函数支持我们向它们抛出的任何数量的参数。unset()

我想创建一个类似的函数,它能够接受任意数量的参数并处理它们。

任何想法,如何做到这一点?


答案 1

在 PHP 中,使用该函数获取所有传递的参数。func_get_args

<?php
function myfunc(){
    $args = func_get_args();
    foreach ($args as $arg)
      echo $arg."/n";
}

myfunc('hello', 'world', '.');
?>

另一种方法是将一个变量数组传递给你的函数,这样你就不必使用类似的东西,而是可以使用或重新组合东西的传递顺序。它也是无限扩展的,这意味着您可以稍后添加新变量,而无需更改已编码的内容。$arg[2];$args['myvar'];

<?php
function myfunc($args){
    while(list($var, $value)=each($args))
      echo $var.' '.$value."/n";
}

myfunc(array('first'=>'hello', 'second'=>'world', '.'));
?>

答案 2

您可以在函数作用域内使用这些函数:

  • func_get_arg()
  • func_get_args()
  • func_num_args()

一些例子:

foreach (func_get_args() as $arg)
{
    // ...
}

for ($i = 0, $total = func_num_args(); $i < $total; $i++)
{
    $arg = func_get_arg($i);
}

推荐