首先来看func_num_args函数。
功能:返回传递到函数的参数数目
语法:int func_num_args (void )。
说明:返回传递到目前定义函数的参数数目。如果是从函数定义的外面来呼叫此函数,则func_get_arg( )将会产生警告。
func_num_args( )可以用来结合func_get_arg( )和func_get_args( )来允许使用者定义的函式接受variable-length参数列表。其中,func_get_arg( )从参数列表返回项目,其语法:int func_get_arg (int arg_num),传回定义函数的参数列表的第arg_num个参数,其参数从0开始。且函数定义的外面来呼叫此函数会产生警告;并且当arg_num大于函数实际传递的参数数目时亦会产生警告并返回FALSE。
再来看,func_get_args()函数和func_get_arg()函数的区别:
func_get_args()函数传回一数组,数组的各个元素相当于是目前使用者定义函式的参数列的数目。
在构建PHP类时,灵活使用这三个函数,可以写出更有水准的代码。
例如,在创建PHP和mysql链接的类时,可以采用如下的方式:
<?php class mydb{ private $user; private $pass; private $host; private $db; public function __construct(){ $num_args=func_num_args(); if($num_args>0){ $args=func_get_args(); $this->host=$args[0]; $this->user=$args[1]; $this->pass=$args[2]; this->connect(); } } ?>