微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php随意传递参数的函数func_get_args和func_num_args的简单示例

PHP随意传递参数的函数func_get_args和func_num_args感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
PHP用户自定义函数大部分是用来处理数据的,既然是处理数据那么就必然会有参数传入函数,一般的形式是这样的

/**
 * PHP随意传递参数的函数func_get_args和func_num_args
 *
 * @param 
 * @arrange 512-笔记网: www.www.jb51.cc
 **/
// function with 2 optional arguments
function foo($arg1 = '',$arg2 = '') {
	echo arg1: $arg1\n;    
	echo arg2: $arg2\n;
 }
foo('hello','world');  /* prints:  arg1: hello  arg2: world  */
foo();  /* prints:  arg1:  arg2:  */
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
对于上面的形式,我想你可能觉得是小儿科了,你可能知道PHP允许你定义带有任意参数的函数。不过事实上还有一种完全允许任意数量函数参数的方法。那就是今天我要说的func_get_args函数
func_get_args()—返回的是一个数组,这个数组内的每一项都是函数一个参数。根据PHP手册我们给出函数用法格式。

array func_get_args ( void )
如果只是在这里笼统的阐述,可能大家不能够真正的了解这个函数,那么就让我们通过事例来看下这个函数用法

/**
 * PHP随意传递参数的函数func_get_args和func_num_args
 *
 * @param 
 * @arrange 512-笔记网: www.www.jb51.cc
 **/
// yes,the argument list can be empty 
function foo() {     // returns an array of all passed arguments  
 $args = func_get_args();    
 foreach ($args as $k => $v) { 
  echo “arg”.($k+1).”: $v\n”; 
  }   
}   
foo();  /* 没用任何输出*/   
foo(‘hello’);  /* 输出  arg1: hello  */  
foo(‘hello’,‘world’,‘again’);  /*输出 arg1: hello  arg2: world  arg3: again  */  
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
看到了把,这个函数可以把你传入的所有参数全部都放在一个数组中,然后再输出。这样对我们以后编写PHP程序是不是又简单了许多呢?
既然说到了func_get_args函数,那么我们就不能不提下func_num_args函数和func_get_arg函数

func_nums_args——统计传入函数参数的个数
func_get_arg——根据索引取得某一个参数,这里的索引数传入函数的参数

/**
 * PHP随意传递参数的函数func_get_args和func_num_args
 *
 * @param 
 * @arrange 512-笔记网: www.www.jb51.cc
 **/
<?
function foo()
{
	$numargs = func_num_args();
	echo “Number of arguments: $numargs\n“;
}
foo(1,2,3);    // Prints ‘Number of arguments: 3′
?>
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
上面的例子很明白的给我们展示了func_num_args函数就是活的传入函数的参数

/**
 * PHP随意传递参数的函数func_get_args和func_num_args
 *
 * @param 
 * @arrange 512-笔记网: www.www.jb51.cc
 **/
<?PHP
function foo()
{
	 $numargs = func_num_args();
	 echo Number of arguments: $numargs<br />\n;
	 if ($numargs >= 2) {
	 echo Second argument is:  . func_get_arg(1) . <br />\n;
	 }
}
foo (1,3);
?>
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
上面的例子中func_get_arg(1)就是获取函数的第二个参数。好了,我们看下这三个函数的综合实例吧,这样我们就可以把这三个函数掌握了。

/**
 * PHP随意传递参数的函数func_get_args和func_num_args
 *
 * @param 
 * @arrange 512-笔记网: www.www.jb51.cc
 **/
<?PHP
function foo()
{
	$numargs = func_num_args();//得到参数的个数
	echo Number of arguments: $numargs<br />\n;
	if ($numargs >= 2) {
		echo Second argument is:  . func_get_arg(1) . <br />\n;
	}
	$arg_list = func_get_args();
	for ($i = 0; $i < $numargs; $i++) {
		echo Argument $i is:  . $arg_list[$i] . <br />\n;
	}
}
foo(1,3);
?>
/***   来自编程之家 jb51.cc(jb51.cc)   ***/
func_get_arg()函数func_num_args函数以及func_get_args函数,在我们平时编程的时候是很有用的,如果我们会巧妙的运用可能会让我们意向不到,发现这些函数的作用是那么大。

原文地址:https://www.jb51.cc/php/528470.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐