Heim >Backend-Entwicklung >PHP-Tutorial >php中func_num_args与func_get_args函数的例子

php中func_num_args与func_get_args函数的例子

WBOY
WBOYOriginal
2016-07-25 08:56:49785Durchsuche
本文介绍下,有关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();
    }
} 
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn