可变参数(不定参数)的使用

<?php
/**
 * 使用可变参数的自定义函数
 *
 * @param mixed ...$args 可变参数
 * @return void
 */
function profile1(...$args)
{
    echo 'profile1()接收了' . count($args) . '个参数。 <br>';
    echo "俺叫{$args[0]}{$args[1]}),今年{$args[2]}岁。<br >";
}

/**
 * 使用可变参数的自定义函数
 * 说明:这是PHP早期版本使用可变参数的方式,不建议使用。
 *
 * @return void
 */
function profile2()
{
    $args = func_get_args();

    echo 'profile2()接收了' . func_num_args() . '个参数。 <br>';
    echo "俺叫{$args[0]}{$args[1]}),今年{$args[2]}岁,职业是{$args[3]}。<br >";
}

profile1('张三', '男', 18);
// profile1()接收了3个参数。
// 俺叫张三(男),今年18岁。

profile2('李四', '女', 17, '程序猿');
// profile2()接收了4个参数。
// 俺叫李四(女),今年17岁,职业是程序猿。

//========== 总结 ==========//
// 1、可变参数可以和固定参数混合使用,但可变参数必须放在最后,如:foo($a, ...$b)。
// 2、可变参数可以指定数据类型,只要在“...”前面写上数据类型即可,如:foo(int ...$nums)。
// 3、可变参数可以传递引用变量,只要在“...”前面写上&即可,如:foo(&...$args)。

Copyright © 2024 码农人生. All Rights Reserved