如何将数组转换为独立的函数参数?
P粉391677921
P粉391677921 2023-07-22 23:17:01
0
2
458

我想在函数调用中将数组中的值作为独立的参数使用。示例:

// Values "a" and "b" $arr = array("alpha", "beta"); // ... are to be inserted as $a and $b. my_func($a, $b) function my_func($a,$b=NULL) { echo "{$a} - {$b}"; }

数组中的值的数量是未知的。

可能的解决方案有:

  1. 我可以将数组作为单个参数传递,但更希望将其作为多个独立的函数参数传递。

  2. 将数组使用implode()函数连接成逗号分隔的字符串。(失败,因为它只是一个字符串。)

  3. 使用单个参数:

    $str = "'a','b'"; function goat($str); // $str needs to be parsed as two independent values/variables.
  4. eval()?

  5. 遍历数组?

欢迎提出建议。谢谢。

P粉391677921
P粉391677921

全部回复 (2)
P粉071602406

如果我理解你的意思正确的话:

$arr = array("alpha", "beta"); call_user_func_array('my_func', $arr);
    P粉063039990

    这个问题相当古老,但是在PHP 5.6+版本中有更直接的支持。

    http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list.new

    $arr = array("alpha", "beta"); my_func(...$arr);
      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!