<?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