解析func_num_args与func_get_args函数的使用

yipeiwu_com7年前PHP代码库
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();
    }
}
…………省略…………
?>

相关文章

PHP 判断常量,变量和函数是否存在

复制代码 代码如下:if (defined('CONST_NAME')) {    //do something } 变量检测则是使用isset,注意变量未...

php设计模式 Template (模板模式)

继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。“使用委派关系代替继承关系”,“尽量使用接口实现而不是抽象类继承”等等专家警告,让我们这些菜鸟对继承“另眼相看”。其实,继承还是有很...

使用php+Ajax实现唯一校验实现代码[简单应用]

使用php+Ajax实现唯一校验实现代码[简单应用]

首先创建一个Ajax类(Ajax类) 然后新建一个文件form.html --------------------------form.html---------------------...

php中mail函数发送邮件失败的解决方法

本文实例讲述了php中mail函数发送邮件失败的解决方法。分享给大家供大家参考。具体分析如下: php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必...

php 根据url自动生成缩略图并处理高并发问题

服务器生成缩略图的时机一般分为两种: 1.上传文件时生成 优点:上传时就已经生成需要的缩略图,读取时不需要再判断,减少cpu运算。 缺点:当缩略图尺寸变化时或新增尺寸时,需要重新生成所有...