Maison  >  Article  >  développement back-end  >  php中func_num_args与func_get_args函数的例子

php中func_num_args与func_get_args函数的例子

WBOY
WBOYoriginal
2016-07-25 08:56:49746parcourir
本文介绍下,有关php中可变函数参数的两个函数,分别是func_num_args与func_get_args函数,有需要的朋友参考下。

首先来看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();
    }
} 
?>


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn