PHP func_num_args() 与 func_get_args()函数介绍及使用
2016-08-04 16:35
776 查看
刚接触php,发现php函数有很多很神奇的特性!
参数不用写明,传参也没有定死!!学java会发现一个问题重载怎么办??没错!php没有重载!
但如果我们深入了解一下会发现可以在php中使用
func_num_args()和func_get_args()的使用:
使用func_num_args()和func_get_args()实现重载的方法
php是弱类型语言不能像java或c那样直接实现重载,只能曲线实现相同的效果。
使用默认值也可以
参数不用写明,传参也没有定死!!学java会发现一个问题重载怎么办??没错!php没有重载!
但如果我们深入了解一下会发现可以在php中使用
func_get_args()和
func_num_args()函数实现函数重载,下面就介绍下这两个方法;
func_num_args(); //传递给函数的参数个数 func_get_args(); //传递给函数的参数数组
func_num_args()和func_get_args()的使用:
public function echoOkAndResult(){ $num=func_num_args(); $list=func_get_args(); $obj['status']['succeed'] = '0000'; for($i=0;$i<$num;$i++) { if($list[$i]) $obj+= $list[$i]; } echo urldecode ( json_encode ( $obj ) ); }
使用func_num_args()和func_get_args()实现重载的方法
function rewrite() { $args = func_get_args(); if(func_num_args() == 1) { func1($args[0]); } else if(func_num_args() == 2) { func2($args[0], $args[1]); } } function func1($arg) { echo $arg; } function func2($arg1, $arg2) { echo $arg1, ' ', $arg2; } rewrite('PHP'); //调用func1 rewrite('PHP','China'); //调用func2
php是弱类型语言不能像java或c那样直接实现重载,只能曲线实现相同的效果。
使用默认值也可以
function overloadFun($param1, $param2 = '1',$param3 = true) { if($param2=='1'){ // do something }else{ } }
相关文章推荐
- php 函数:func_get_args()、func_get_arg()与func_num_args()
- php的冷门函数之——call_user_func_array,func_get_args,func_num_args
- php 函数:func_get_args()、func_get_arg()与func_num_args()
- php的冷门函数之——call_user_func_array,func_get_args,func_num_args
- PHP利用func_get_args和func_num_args函数实现函数重载实例
- php 函数:func_get_args()、func_get_arg()与func_num_args()
- php 函数func_get_args()、func_get_arg()与func_num_args()之间的比较
- php 函数:func_get_args()、func_get_arg()与func_num_args()
- php 函数func_get_args()、func_get_arg()与func_num_args()之间的比较
- PHP利用func_get_args和func_num_args函数实现函数重载实例
- 关于PHP中func_get_args()、func_get_arg()、func_num_args()的使用(PHP函数重载)
- php 函数:func_get_args()、func_get_arg()与func_num...
- php中几个操作函数参数的函数func_num_args() func_get_args() func_get_arg($i)php
- func_get_args() func_get_arg(offset) func_num_args(); 函数使用
- PHP的一些函数call_user_func_array,func_get_args()
- 函数无限参数,func_num_args 和 func_get_arg 函数
- PHP中func_get_args系列函数的区别
- PHP管理内存函数 memory_get_usage()使用介绍
- func_num_args函数和func_get_args()函数额用法
- php中的func_num_args、func_get_arg与func_get_args函数