1:function fn( $name , $age , $sex , $height , $weight . . . ){
} // 如果有 10+ 个参数
2:function fn( $str ){
$str_arr = explode( "@" , $str ) ;
} // 用explode再把参数都拆开
(因为我感觉传入一个数组应该比一个字符串占的空间大)
第一种参数过多,用第二种代替,不知道这样做效率会不会好些,望解答
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
看你的php版本吧,如果你能控制参数的变化情况,php5.6开始是支持可变参数的,比如这种:
这是我自己用的,就是这么个意思。php5.6之前的版本就用func_get_args这个。就不需要写一大堆参数列表了。
明显传过去一个数组可读性要高很多啊
这就好比马云想买一瓶水,有一瓶三元有一瓶是两元的,你告诉马云买两元的吧,更省钱。
用@作分隔符到时候参数带@就不好办了啊
为什么不传一个数组呢
可以直接定义一个类,传进去一个对象
传数组 不过传字符串的话单纯@符号分割 也是需要对每个参数位置进行限定吧 这样感觉还不如直接传单个参数?
一般用数组,否则你就要反思下你这个方法存在的必要性了
数组传,或是php5.6+的支持可变参数
https://segmentfault.com/q/10...