php中函数不确定参数个数时获取所有参数
func_get_arg(),func_get_args()和func_num_args()的用法
这三个函数呢,都是以func_打头的,顾名思义,是跟php的函数有关的。
我们在写类的时候也经常用到这几个函数;
注意,这三个函数只能用在函数内部;否则会报错;
$number = func_num_args(); 返回INT
//返回函数调用时,给出参数的数量;
$para = func_get_arg(n);
//可以返回第N-1位参数的值,因为引索的起始是0
$arr = func_get_args();
//这个是用来返回参数的数组
找了一个PHP手册上的例子,非常清晰
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs<br />\n";
    if ($numargs >= 2) {
        echo "Second argument is: " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
    }
}
foo(1, 2, 3);
输出:
Number of arguments: 3
Second argument is: 2
Argument 0 is: 1
Argument 1 is: 2
Argument 2 is: 3
php中函数不确定参数个数时获取所有参数的更多相关文章
- js函数定义参数个数和实际传入参数的对比
		因为js是一种弱类型的编程语言,对数据类型的要求没有其他编程语言的要求严格,所以在定义函数的时候不需要像java和C#一样对其传入参数的类型进行定义.那么传入参数的个数有没有影响呢?今天小猪就做了个实 ... 
- C++中函数的形参为数组时,实质形参是指针
		C++中函数的形参如果为数组的话,那么进行实参传递时,实参实际上换转化成指针.参考下面的例子: #include<iostream> using namespace std; void f ... 
- java 重载 : 1.参数个数不同,2.参数类型不同
		参数个数相同时,参数类型需要不同,即使是不同变量名也不行.和是和变量的个数或者是变量的类型有关系 如果相同的话是覆盖 会报错 重载(overloading) 是在一个类里面,方法名字相同,而参数不同 ... 
- Aop 打印参数日志时,出现参数序列化异常。It is illegal to call this method if the current request is not in asynchron
		错误信息: nested exception is java.lang.IllegalStateException: It is illegal to call this method if the ... 
- js 路径改变时获取url参数
		当我们在使用react或vue的router作路由跳转时,为了保持菜单与地址栏状态一致,我们可以使用window.onhashchange捕获#后面的变化 window.onhashchange = ... 
- AngularJS开发中常用的写法,如:获取URL参数、路由跳转、$http、获取元素等
		控制器,带状态 app.controller('editCtrl', ['$http', '$location', '$rootScope', '$scope', '$state', '$stateP ... 
- 关于thinkphp5下URL附加参数,无法获取到(?参数)
		nginx 配置问题: 修改配置后: 
- 用C实现基本的输出参数个数与参数内容
		开发环境为 centos7 和 gcc4.8.5,代码如下: /** * 用C实现基本的输出参数个数与参数内容 */ #include <stdio.h> int main(int arg ... 
- 使用jquery获取url以及jquery获取url参数的方法
		使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ... 
随机推荐
- OC & java 对比
			Objective-C的语法对比(和Java的对比) Objective-C的语法对比(和Java的对比) 1.函数的对比 例子: helloworld方法 Java 语言: publi ... 
- rysnc,scp与bashrc冲突问题
			问题是: scp file user@host:dst失败,user用户的bashrc文件中加入了 sudo su -,自动切换到root用户. 症状是输入密码验证失败. rsync, scp是传输文 ... 
- poj 3114 Countries in War
			http://poj.org/problem?id=3114 #include <cstdio> #include <cstring> #include <queue&g ... 
- [Android] 混音器AudioMixer
			AudioMixer是Android的混音器,通过混音器可以把各个音轨的音频数据混合在一起,然后输出到音频设备. 创建AudioMixer AudioMixer在MixerThread的构造函数内创建 ... 
- 生产环境下,不建议用早期版本的Mono........
			一个BUG修复需要4年!!!!!!!!!!!!!也是醉了....不造被微软收购后的Xamarin会不会好起来 
- 【HDOJ】2424 Gary's Calculator
			大数乘法加法,直接java A了. import java.util.Scanner; import java.math.BigInteger; public class Main { public ... 
- BZOJ1537: [POI2005]Aut- The Bus
			1537: [POI2005]Aut- The Bus Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 158 Solved: 100[Submit][S ... 
- UVAlive3211 Now or later(2-SAT)
			题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33799 [思路] 2-SAT. 二分安全间隔x,先到为1后到为0, ... 
- uploadify在struts2下的使用
			1.首先准备uploadify上传插件包,拷贝到项目目录下 2.注意其中的特殊文件:uploadify-init.js文件,是包含了封装后的特殊函数: /** * uploadify上传插件相关JS ... 
- where子句的具体含义
			今天同学让我帮他调代码,下面是出错的那句: txtSQL= "select * from student_Info where UserID='" & cboUserID. ... 
