老师能简单列举下可变参数的应用实例吗

老师能简单列举下可变参数的应用实例吗

老师我不太知道这个可变数量参数,都可以干什么,可以简单列举几个吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2019-05-24 11:04:51

同学你好,计算两个数的和,可以定义两个参数进行计算。如果计算三个数的和,也可以定义三个参数计算。那么,如果我们需要计算任意多个数的和呢?当然,可以使用数组方式来实现,不过,这样的传递会显得不够清晰直观,这就需要到可变参数实现了

1. 在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'); // 1 a Array ( [0] => a )
myfunc(1, 2, 3); //3 1 Array ( [0] => 1 [1] => 2 [2] => 3 )
myfunc(array('d','e'), array('f')); // 2 Array ( [0] => d [1] => e ) Array ( [0] => Array ( [0] => d [1] => e ) [1] => Array ( [0] => f ) )

?>

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

<?php
function myfunc(...$args){
    // 获取参数数量
    echo count($args).PHP_EOL;
     // 获取第一个参数的值:
     print_r($args[0]);
    echo PHP_EOL;

    // 获取所有参数的值
    print_r($args);
    echo PHP_EOL;
}
myfunc('a'); // 1 a Array ( [0] => a )
myfunc(1, 2, 3); //3 1 Array ( [0] => 1 [1] => 2 [2] => 3 )
myfunc(array('d','e'), array('f')); // 2 Array ( [0] => d [1] => e ) Array ( [0] => Array ( [0] => d [1] => e ) [1] => Array ( [0] => f ))
?>

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师