PHP:定义具有可变参数数量的函数? [英] PHP: Define function with variable parameter count?

查看:112
本文介绍了PHP:定义具有可变参数数量的函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法在PHP中定义一个函数,让你定义一个可变数量的参数?

Is there a way to define a function in PHP that lets you define a variable amount of parameters?

在语言中,我更熟悉它是这样的:

in the language I am more familiar with it is like so:

function myFunction(...rest){ /* rest == array of params */ return rest.length; }

myFunction("foo","bar"); // returns 2;

谢谢!

Thanks!

推荐答案

是。使用 func_num_args() func_get_arg()来获取参数:

Yes. Use func_num_args() and func_get_arg() to get the arguments:

<?php
  function dynamic_args() {
      echo "Number of arguments: " . func_num_args() . "<br />";
      for($i = 0 ; $i < func_num_args(); $i++) {
          echo "Argument $i = " . func_get_arg($i) . "<br />";
      }
  }

  dynamic_args("a", "b", "c", "d", "e");
?>

在PHP 5.6+中,您现在可以使用 variadic functions

In PHP 5.6+ you can now use variadic functions:

<?php
  function dynamic_args(...$args) {
      echo "Number of arguments: " . count($args) . "<br />";
      foreach ($args as $arg) {
          echo $arg . "<br />";
      }
  }

  dynamic_args("a", "b", "c", "d", "e");
?>

这篇关于PHP:定义具有可变参数数量的函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆