解析func_num_args与func_get_args函数的使用


Posted in PHP onJune 24, 2013

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 相关文章推荐
用PHP读取IMAP邮件
Oct 09 PHP
php数字游戏 计算24算法
Jun 10 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
详解PHP导入导出CSV文件
Nov 03 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
PHP类相关知识点实例总结
Sep 28 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
如何运行/调试你的PHP代码
Oct 23 PHP
php常用ODBC函数集(详细)
Jun 24 #PHP
php常用Stream函数集介绍
Jun 24 #PHP
解析php常用image图像函数集
Jun 24 #PHP
解析php中eclipse 用空格替换 tab键
Jun 24 #PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 #PHP
解析php dirname()与__FILE__常量的应用
Jun 24 #PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 #PHP
You might like
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
python3.5使用tkinter制作记事本
2016/06/20 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
介绍一下linux的文件系统
2015/10/06 面试题
数控个人求职信范文
2014/02/03 职场文书
暑期社会实践方案
2014/02/05 职场文书
旅游安全协议书
2014/04/21 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
个人自荐材料
2014/05/23 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android