php可变长参数处理函数详解

yipeiwu_com6年前PHP代码库

本文实例讲述了php可变长参数处理函数。分享给大家供大家参考,具体如下:

与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);
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍

file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍

解释不清,直接上例子index.html复制代码 代码如下:  <form action="action.php" method="post" >  &l...

php方法调用模式与函数调用模式简例

现有某函数与对象如下: 复制代码 代码如下: var doubling=function(x){ return x*2; }; var obj={ val:100, }; 函数调用模式...

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)

今天要用php代码来处理一个580M的日志文件,总共有219万多行记录,因为是.log的文件,在windows下面很难将文件按照条数来分割,于是在linux下用split -l 1000...

PHP中overload与override的区别

override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存...

php连接与操作PostgreSQL数据库的方法

本文实例讲述了php连接与操作PostgreSQL数据库的方法。分享给大家供大家参考。 具体实现方法如下: 复制代码 代码如下: $pg=@pg_connect("host=localh...