Chinaunix首页 | 论坛 | 博客
  • 博客访问: 957870
  • 博文数量: 120
  • 博客积分: 6454
  • 博客等级: 准将
  • 技术积分: 1739
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-28 17:45
文章分类

全部博文(120)

文章存档

2014年(1)

2013年(1)

2012年(11)

2011年(16)

2010年(6)

2009年(11)

2008年(30)

2007年(44)

分类:

2008-03-10 22:25:40

     与C++一样,PHP中也可以对含有可变参数的函数进行处理,道理都一样,需要函数来专门处理参数列表。PHP中提供了三个相关的函数:
1. func_num_args()  -- 返回传递给函数的参数个数

int func_num_args ( void )

示例:

function open_database($DB, $cache_size_or_values=null, $cache_size=null)
{
    switch (function_num_args())
    {
        case 1:
            $r = select_db($DB);
            break;
        case 2:
            $r = select_db($DB, $cache_size_or_values);
            break;
        case 3:
            $r = select_db($DB, $cache_size_or_values, $cache_size);
            break;
    }
    return is_resource($r);
}

2. func_get_arg()  -- 返回指定的参数

mixed func_get_arg ( int arg_num)

参数列表中的第一个参数的 arg_num 是0

<?php
    function some_func($a, $b)
    {
        for($i = 0; $i<func_num_args(); ++$i)
        {
            $param = func_get_arg($i);
            echo "the param is $param\n"
        }
    }
    some_func(1,3,5,7,9);
?>

3. func_get_args()  -- 以数组的形式返回参数列表

array func_get_args ( void )

示例:

<?php
    function some_other_func($a, $b)
    {
        $param = func_get_args();
        $param = join(", ", $param);    // 分解显示

        echo "the arglist is: $param\n";
    }
    some_other_func(1,3,5,7,9);
?>

阅读(2605) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~