Function handling 函数 实例
2011-10-18 17:26
232 查看
call_user_func_array — 让参数以数组的形式调用一个函数
call_user_func — 调用一个存在的函数
create_function — 建立一个函数
func_get_arg — 获取函数中某个参数的值
func_get_args — 获取函数的所有参数并组成数组
func_num_args — 获取一个函数的参数个数
function_exists — 判定一个函数是否存在
get_defined_functions — 获取已有的函数信息
register_shutdown_function — 注册一个页面载入完成后运行的函数
register_tick_function — 注册一个按要求调用的函数
unregister_tick_function — 取消一个按要求调用的函数
1、首先是call_user_func_array和call_user_func的区别
class myclass {
function hello($a,$b)
{
echo $a,"*",$b;
}
}
$classname = "myclass";
//call_user_func依次列出参数
call_user_func(array( $classname, 'hello'), 8, 9);
//call_user_func_array把参数写成一个数组
call_user_func_array( array( $classname, 'say_hello'), array( 3, 5));
2、create_function
$newfunc = create_function('$a,$b,$c', 'return $a + $b * $c;');
echo "New anonymous function: $newfunc<br>";
echo $newfunc(1, 2, 3);
//结果
// New anonymous function: lambda_21
// 7
3、
function foo(){
//有2个参数
$a = func_num_args();
echo "参数个数",$a;
//以数组形式返回所有参数
var_export( func_get_args() ) ;
//获取弟2个参数
echo func_get_arg(1);
}
foo(7,9);
4、函数是否存在
if(function_exists('foo')){
echo "yes";
}else {
echo "no";
}
5、get_defined_functions,取得所有已经定义的函数,把函数名称放进一个数组里面。例如:
$functions['internal']所有元素是PHP自身定义的函数,这次想知道PHP到底定义了多少个函数的兄弟们有福了,这个可能不包括扩展库的函数,例如xml扩展库和gd扩展库!
另外一个元素$functions['user']中则收纳了用户自身定义的所有函数——这个地方要注意啊,我们所说的所有是指当前运行的程序文件和这个程序文件所包含的其他文件中定义的函数。
他不管用户定义的时候写的函数名是不是有大写字母,这些大写字母是不是有特殊含义,他通通的把函数名转换为小写之后才写进数组里面
例如我们定义两个函数:
<?php
function shortHim(){}
function helloYou(){}
$functions=get_defined_functions();
var_dump($functions['user']);
//结果是这样的
//array(2) { [0]=> string(8) "shorthim" [1]=> string(9) "helloyou"}
6、能够在脚本终止前回调注册的函数
function Test()
{
echo 'end';
}
register_shutdown_function('Test');
echo "start<br/>";
7、
function foo1($str) {
static $i = 0;
print "$str: $i<br>";
$i++;
}
register_tick_function("foo1", "count");
//unregister_tick_function("foo1");
declare (ticks = 9) {
for($i=0; $i<20; $i++) {
echo "$i<br>";
}
}
//结果
0
1
2
3
4
count: 0
5
6
7
8
count: 1
9
call_user_func — 调用一个存在的函数
create_function — 建立一个函数
func_get_arg — 获取函数中某个参数的值
func_get_args — 获取函数的所有参数并组成数组
func_num_args — 获取一个函数的参数个数
function_exists — 判定一个函数是否存在
get_defined_functions — 获取已有的函数信息
register_shutdown_function — 注册一个页面载入完成后运行的函数
register_tick_function — 注册一个按要求调用的函数
unregister_tick_function — 取消一个按要求调用的函数
1、首先是call_user_func_array和call_user_func的区别
class myclass {
function hello($a,$b)
{
echo $a,"*",$b;
}
}
$classname = "myclass";
//call_user_func依次列出参数
call_user_func(array( $classname, 'hello'), 8, 9);
//call_user_func_array把参数写成一个数组
call_user_func_array( array( $classname, 'say_hello'), array( 3, 5));
2、create_function
$newfunc = create_function('$a,$b,$c', 'return $a + $b * $c;');
echo "New anonymous function: $newfunc<br>";
echo $newfunc(1, 2, 3);
//结果
// New anonymous function: lambda_21
// 7
3、
function foo(){
//有2个参数
$a = func_num_args();
echo "参数个数",$a;
//以数组形式返回所有参数
var_export( func_get_args() ) ;
//获取弟2个参数
echo func_get_arg(1);
}
foo(7,9);
4、函数是否存在
if(function_exists('foo')){
echo "yes";
}else {
echo "no";
}
5、get_defined_functions,取得所有已经定义的函数,把函数名称放进一个数组里面。例如:
$functions['internal']所有元素是PHP自身定义的函数,这次想知道PHP到底定义了多少个函数的兄弟们有福了,这个可能不包括扩展库的函数,例如xml扩展库和gd扩展库!
另外一个元素$functions['user']中则收纳了用户自身定义的所有函数——这个地方要注意啊,我们所说的所有是指当前运行的程序文件和这个程序文件所包含的其他文件中定义的函数。
他不管用户定义的时候写的函数名是不是有大写字母,这些大写字母是不是有特殊含义,他通通的把函数名转换为小写之后才写进数组里面
例如我们定义两个函数:
<?php
function shortHim(){}
function helloYou(){}
$functions=get_defined_functions();
var_dump($functions['user']);
//结果是这样的
//array(2) { [0]=> string(8) "shorthim" [1]=> string(9) "helloyou"}
6、能够在脚本终止前回调注册的函数
function Test()
{
echo 'end';
}
register_shutdown_function('Test');
echo "start<br/>";
7、
function foo1($str) {
static $i = 0;
print "$str: $i<br>";
$i++;
}
register_tick_function("foo1", "count");
//unregister_tick_function("foo1");
declare (ticks = 9) {
for($i=0; $i<20; $i++) {
echo "$i<br>";
}
}
//结果
0
1
2
3
4
count: 0
5
6
7
8
count: 1
9
相关文章推荐
- PHP中处理函数的函数(Function Handling Functions)
- 我们平常很少用到的PHP中处理函数的函数(Function Handling Functions)
- Lua中的函数(function)、可变参数、局部函数、尾递归优化等实例讲解
- Oracle Function 自定义函数建立实例
- SQl Function 创建函数实例介绍
- js Function对象扩展与延时执行函数实例代码
- PHP - Manual手册 - Function Reference函数参考 - Session Extensions会话扩展 - Session Handling会话操作 - Installing/Configuring安装/配置 - Runtime
- MySQL 自定义函数CREATE FUNCTION实例
- Oracle Pipelined Function 管道函数实例
- PHP之function_handling 函数
- Lua中的函数(function)、可变参数、局部函数、尾递归优化等实例讲解
- wrapper 函数 bind 和 function 使用实例
- Jquery封装function实例
- mysql常用字符串操作函数大全,以及实例
- SQL Server COALESCE函数详解及实例
- 命名空间、静态函数、实例函数
- 帝国cms使用自定义函数获取新闻文章数 实例分享
- JavaScript中函数(Function)的apply与call理解
- SqlServer2005新增排序函数实例解释
- Javascript - Function access scope analysis 函数在页面上的可访问性浅析