php 函数使用可变数量的参数方法

Kiran ·
更新时间:2024-11-13
· 828 次阅读

php在用户自定义函数中支持可变数量的参数列表。

在php5.5及更早的版本中,使用func_num_args(), func_get_arg(), func_get_args()函数实现。

<?php function myfunc(){ // 获取参数数量 echo func_num_args().PHP_EOL; // 获取第一个参数的值: print_r(func_get_arg(0)); echo PHP_EOL; // 获取所有参数的值 print_r(func_get_args()); echo PHP_EOL; } myfunc('a'); myfunc(1, 2, 3); myfunc(array('d','e'), array('f')); ?>

输出:

1 a Array ( [0] => a ) 3 1 Array ( [0] => 1 [1] => 2 [2] => 3 ) 2 Array ( [0] => d [1] => e ) Array ( [0] => Array ( [0] => d [1] => e ) [1] => Array ( [0] => f ) )

在php5.6及以上的版本中,可以使用…语法实现。

例子1: 使用…$args代替任意数量参数

<?php function myfunc(...$args){ // 获取参数数量 echo count($args).PHP_EOL; // 获取第一个参数的值: print_r($args[0]); echo PHP_EOL; // 获取所有参数的值 print_r($args); echo PHP_EOL; } myfunc('a'); myfunc(1, 2, 3); myfunc(array('d','e'), array('f')); ?>

输出结果与php5.5使用func_num_args(), func_get_arg(), func_get_args()函数一致。

例子2: 数组转为参数列表

<?php function add($a, $b){ echo $a + $b; } $args = array(1, 2); add(...$args); // 输出3 ?>

例子3: 部分参数指定,其他参数数量不定

<?php function display($name, $tag, ...$args){ echo 'name:'.$name.PHP_EOL; echo 'tag:'.$tag.PHP_EOL; echo 'args:'.PHP_EOL; print_r($args); echo PHP_EOL; } display('fdipzone', 'programmer'); display('terry', 'designer', 1, 2); display('aoao', 'tester', array('a','b'), array('c'), array('d')); ?>

输出:

name:fdipzone tag:programmer args: Array ( ) name:terry tag:designer args: Array ( [0] => 1 [1] => 2 ) name:aoao tag:tester args: Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c ) [2] => Array ( [0] => d ) )

以上这篇php 函数使用可变数量的参数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:php之可变函数的实例详解php可变长参数处理函数详解php定义参数数量可变的函数用法实例PHP可变函数的使用详解JS与PHP向函数传递可变参数的区别实例代码php 获取可变函数参数的函数php 可变函数使用小结



php 函数 方法 参数 函数 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Vesta 2020-06-09
702