php的冷门函数之——call_user_func_array,func_get_args,func_num_args
来源:互联网 发布:java工作简历描述 编辑:程序博客网 时间:2024/05/29 14:02
昨天帮同学研究php对mysql进行封装操作的时候,无意中看到了call_user_func_array这个函数,好歹我php也用了一年多了,竟然还有这么多我不知道的功能函数,因此我们的原则是宁肯多学,不能放过,下面我会举几个例子给大家介绍一下这几个冷门的php函数。话不多说,gogogogo
第一个函数,func_num_args,我们先来看一下php的manual对这个函数的解释
func_num_args
(PHP 4, PHP 5)
func_num_args — Returns the number of arguments passed to the function
顾名思义了,这个函数的功能就是返回传递给这个函数参数的多少,我们写一个简单的函数来验证一下
<?phpfunction TestPhpFunction1() {$number = func_num_args ();echo "传递给该函数参数数目为: " . $number . "<br>";}TestPhpFunction1 ( 3, 4, 5, 6, 7 );?>输出结果: 传递给该函数参数数目为: 5
第二个函数,func_get_arg,func_get_args我们也来看一下php的manual对这个函数的解释
func_get_arg
(PHP 4, PHP 5)
func_get_arg — Return an item from the argument list
继续英文翻译,返回指定参数列表中的一项
func_get_args
(PHP 4, PHP 5)
func_get_args — Returns an array comprising a function's argument list
翻译一下,应该是返回参数列表数组,写个函数验证一下
<?phpfunction TestPhpFunction2() {$parameter_nums = func_num_args ();for($i = 0; $i < $parameter_nums; $i ++) {echo "第" . $i . "个参数为" . func_get_arg ( $i ) . "<br>";}echo "传递的参数数组为: <br>";$parameters = func_get_args ();print_r ( $parameters );}TestPhpFunction2 ( 3, 4, 5, 6, 7 );?>
输出结果为:
第0个参数为3
第1个参数为4
第2个参数为5
第3个参数为6
第4个参数为7
传递的参数数组为:
Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 )
刚才同学又跟我讨论了一个php操作mysql预编译的指令,有点使用上的问题,跟大家分享一下,照例贴出来php manual的解释
mysqli_stmt::bind_param
mysqli_stmt_bind_param
(PHP 5)
mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Binds variables to a prepared statement as parameters
这个mysql->prepared是防止客户端sql注入最常用的手段之一,而这个函数正是对客户端的输入进行参数绑定
bool mysqli_stmt::bind_param ( string $types
, mixed &$var1
[, mixed &$...
] )
其中type分为4种类型:
i:整型
b:浮点型
s:字符串类型
d:blob类型
后面的var表示客户端输入的具体变量,今天偶然发现每个变量前都加入了取地址运算符&,很诡异啊,我之前操作mysql的时候没加,为什么还没出问题呢?
具体操作了一下,也就是值传递和引用传递的关系,因为再绑定参数之后,在$stmt->execute之前,我不会再进行其它对绑定参数大小修改的操作了,所以之前的都不会有问题
- php的冷门函数之——call_user_func_array,func_get_args,func_num_args
- php函数之func_get_args()、func_get_arg()与func_num_args()
- PHP的一些函数call_user_func_array,func_get_args()
- php函数call_user_func_arrray、call_user_func、func_get_args、func_num_args的用法
- php 函数func_get_args()、func_get_arg()与func_num_args()之间的比较
- php中的func_num_args、func_get_arg与func_get_args函数
- php 函数:func_get_args()、func_get_arg()与func_num_args()
- php中的func_num_args、func_get_arg与func_get_args函数
- php中的func_num_args、func_get_arg与func_get_args函数
- php中func_num_args(),func_get_arg(),func_get_args()的区别
- PHP中func_get_args(),func_get_arg(),func_num_args()的区别
- PHP func_num_args与func_get_args
- PHP func_num_args与func_get_args
- func_num_args与func_get_args函数的使用
- php中几个操作函数参数的函数func_num_args() func_get_args() func_get_arg($i)php
- 关于PHP中func_get_args()、func_get_arg()、func_num_args()的使用(PHP函数重载)
- PHP func_num_args() 与 func_get_args()函数介绍及使用
- func_get_arg(), func_get_args() 和 func_num_args() 函数
- HDU 1518
- Winform关闭窗口时弹出确认窗口的实现
- ASP.NET动态数据网站实战
- JS定义类的方式及继承的方式
- How does SQL Server really store NULL-s
- php的冷门函数之——call_user_func_array,func_get_args,func_num_args
- 从文本中导入到数据库程序
- 在堆栈损坏的情况下,如何查找问题之一
- CouchDB on android 入门
- SQL批量插入
- 在使用httpclient发送信息时报错解决
- 团队如何有效沟通
- lomboz eclipse介绍
- 极简Jquery的Tabs内容轮换效果,几行代码搞定