下面是php中的一个获取当前别调用函数的参数列表的测试程序,感受一下php类库的强大之处:

// 测试获取参数列表
getArgs('aaa', 'bbb', 'ccc', 123, true); function getArgs() {
// 获取传递给当前函数的所有参数
$allArgs = func_get_args();
echo json_encode($allArgs);
echo '<br>---------------<br>';
// 获取从索引1开始的所有的参数
$args = array_slice(func_get_args(), 1);
echo json_encode($args);
echo '<br>---------------<br>';
// 获取从索引1开始的3个参数
$args = array_slice(func_get_args(), 1, 3);
echo json_encode($args);
}

输出结果:

["aaa","bbb","ccc",123,true]
---------------
["bbb","ccc",123,true]
---------------
["bbb","ccc",123]

总结:

php是类js的脚本语言,它的函数设计很灵活,比如上面的getArgs()函数在定义的时候并没有指定参数列表,但是在调用的时候可以传递任意个数的参数,
在getArgs()函数内部通过php内置的func_get_args()函数可以拿到传递给当前被调函数的所有参数,还可以通过array_slice()函数指定要获取哪些参数,
非常棒的一个功能。说php是世界上最好的编程语言,不为过。

php获取当前被调函数的参数列表的更多相关文章

  1. PHP函数可变参数列表的具体实现方法介绍

    PHP函数可变参数列表可以通过_get_args().func_num_args().func_get_arg()这三个函数来实现.我们下面就对此做了详细的介绍. AD:2014WOT全球软件技术峰会 ...

  2. php实现函数可变参数列表

    使用func_get_args().func_num_args().func_get_arg() 可以构造一个可变参数列表的函数. 首先大致介绍以上三个函数. (1)array func_get_ar ...

  3. C语言函数可变参数列表

    C语言允许使用可变参数列表,我们常用的printf函数即为可变参数函数,C标准库提供了stdarg.h为我们提供了这方面支持:该头文件提供了一些类型和宏来支持可变参数列表,包括类型va_list,宏v ...

  4. day11 函数的参数列表

    """ 今日内容: 1.函数参数的分类 2.形参是对实参的值拷贝 3.实参的分类 4.形参的分类 5.打散机制 附1:字符串的比较 """ ...

  5. python学习Day11 函数的参数列表

    复习 什么是函数? 具体特定功能的代码块 - 特定功能代码作为一个整体,并给该整体命名,就是函数 函数的优点 : 1.减少代码的冗余,2.结构清晰,可读性强 3.具有复用性,开发效率高,维护成本高 如 ...

  6. controller函数中参数列表使用多个@RequestBody

    首先出现这种情况是因为有下面这种需求 $.ajax({ type: "POST", url: "${pageContext.request.contextPath}/co ...

  7. perl 函数的参数列表

    在perl中,定义一个函数的时候,不需要在圆括号内指定具体的参数,所有的参数都从@_ 这个列表中得到 代码示例: sub test { my ($a, $b) = @_; print qq{$a\t$ ...

  8. php中如何动态获取函数的参数

    php动态获取函数参数 一.总结 一句话总结:a.PHP 在用户自定义函数中支持可变数量的参数列表.其实很简单,只需使用 func_num_args() , func_get_arg() ,和 fun ...

  9. Install Shield常用函数以及参数

    nstall Shield函数库 1  库函数综述InstallShield包含300多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态,创建对话框,操作文件及 ...

随机推荐

  1. H5 唤起 APP的解决方案

    H5 页面唤起APP或跳转到下载APP的某个链接地址.总结如下: 在 IOS 中, 系统版本在 8 以下时,可以监听页面的 pagehide / visibilitychange 事件. 系统版本大于 ...

  2. javascript 伪数组和转化为标准数组

    1: 什么是伪数组 伪数组是一个含有length属性的json对象, 它是按照索引的方式存储数据, 它并不具有数组的一些方法,只能能通过Array.prototype.slice转换为真正的数组,并且 ...

  3. orz gzy

    然而orz gzy内嵌不进去...

  4. go知识点和注意事项

    bin目录下面存的是编译之后可执行的文件,pkg下面存放的是应用包,src下面保存的是应用源代码 Go 语言不支持函数重载特性的主要原因是函数重载需要进行多余的类型匹配影响性能: 目前 Go 没有泛型 ...

  5. Android多线程的使用

    The speed and efficiency of a long-running, data-intensive operation often improves when you split i ...

  6. Mac + OpenCV3.3.0 + PyCharm (非常简单的配置过程)

    最近要用python来写opencv,主要是需要学习计算机视觉和机器学习.看了网上的配置过程,愣是把一件简单的事搞复杂了. 话不多说,配环境走起! 打开PyCharm,找到Preferences 尝试 ...

  7. 如何修改PHP的memory_limit限制

    在运行PHP程序,通常会遇到“Fatal Error: Allowed memory size of xx bytes exhausted”(允许内存大小为 xx 字节耗尽)的错误, 这个意味着PHP ...

  8. Mac下nodeJS初体验

    Mac下nodeJS初体验 这两天博主出门在外,抽空体验一下大名鼎鼎的node 安装 brew install node 安装测试 $ node -v v8.4.0 运行本地脚本 用文本编辑器编辑一段 ...

  9. c# 后台 添加datable 数据

    public void AddRows(HtmlTable table(表名),DataTable dt(数据源), string i(自增长))         {                  ...

  10. 使用iscroll,无法正常滑动的原因

    iscroll的dom元素的结构是固定的,swiper是容器,scroll是需要滚动的容器,list是滚动的内容 <div class="swiper"> <di ...