本文档中使用的伪类型
2016-02-27 14:34
375 查看
mixed
mixed说明一个参数可以接受多种不同的(但并不必须是所有的)类型。
例如gettype()可以接受所有的PHP类型,str_replace()可以接受字符串和数组。
number
number说明一个参数可以接受多种不同的(但并不必须是所有的)类型。
例如gettype()可以接受所有的PHP类型,str_replace()可以接受字符串和数组。
callback
有些诸如call_user_function()或usort()的函数接受用户自定义的函数作为一个参数。Callback函数不仅仅可以是一个简单的函数,它还可以是一个对象的方法,包括静态类的方法。
一个PHP函数用函数名字字符串来传递。可以传递任何内置的或者用户自定义的函数,除了语言结构如array(),echo(),empty(),eval(),exit(),isset(),list(),print()
和unset()。
一个对象的方法以数组的形式来传递,数组的下标0指明对象名,下标1指明方法名。
对于没有实例化为对象的静态类,要传递其方法,将数组0下标指明的对象名换成该类的名称即可。
除了普通的用户定义的函数外,也可以使用create_function()来创建一个匿名的回调函数(callback)。
Example #1回调函数(callback)示例
<?php
//普通的回调函数
function my_callback_function(){
echo 'Hello world!';
}
//回调函数
class MyClass{
static function myCallbackMethod(){
echo 'Hello World!';
}
}
//Type 1:Simple callback
call_user_func('my_callback_function');
//Type 2:Static class method call
call_user_func(array('MyClass','myCallbackMethod'));
//Type 3:Object method call
$obj=new MyClass();
call_user_func(array($obj,'myCallbackMethod'));
//Type 4:Static class method call
call_user_func('MyClass:myCallbackMethod');
//Type 5:Relative static class method call
class A{
public static function who(){
echo "A\n";
}
}
class B extends A{
public static function who(){
echo "B\n";
}
}
call_user_func(array('B','parent::who'));
?>
mixed说明一个参数可以接受多种不同的(但并不必须是所有的)类型。
例如gettype()可以接受所有的PHP类型,str_replace()可以接受字符串和数组。
number
number说明一个参数可以接受多种不同的(但并不必须是所有的)类型。
例如gettype()可以接受所有的PHP类型,str_replace()可以接受字符串和数组。
callback
有些诸如call_user_function()或usort()的函数接受用户自定义的函数作为一个参数。Callback函数不仅仅可以是一个简单的函数,它还可以是一个对象的方法,包括静态类的方法。
一个PHP函数用函数名字字符串来传递。可以传递任何内置的或者用户自定义的函数,除了语言结构如array(),echo(),empty(),eval(),exit(),isset(),list(),print()
和unset()。
一个对象的方法以数组的形式来传递,数组的下标0指明对象名,下标1指明方法名。
对于没有实例化为对象的静态类,要传递其方法,将数组0下标指明的对象名换成该类的名称即可。
除了普通的用户定义的函数外,也可以使用create_function()来创建一个匿名的回调函数(callback)。
Example #1回调函数(callback)示例
<?php
//普通的回调函数
function my_callback_function(){
echo 'Hello world!';
}
//回调函数
class MyClass{
static function myCallbackMethod(){
echo 'Hello World!';
}
}
//Type 1:Simple callback
call_user_func('my_callback_function');
//Type 2:Static class method call
call_user_func(array('MyClass','myCallbackMethod'));
//Type 3:Object method call
$obj=new MyClass();
call_user_func(array($obj,'myCallbackMethod'));
//Type 4:Static class method call
call_user_func('MyClass:myCallbackMethod');
//Type 5:Relative static class method call
class A{
public static function who(){
echo "A\n";
}
}
class B extends A{
public static function who(){
echo "B\n";
}
}
call_user_func(array('B','parent::who'));
?>
相关文章推荐
- Cookie深度解析
- 1070. Mooncake (25)
- /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
- poj EXTENDED LIGHTS OUT 1222 (高斯消元)
- php程序守护进程
- 数据结构算法之排序系列Java、C源码实现(8)--基数排序
- node.js之EJS
- java中的单例设计模
- 对象已死?
- ThreadPoolExecutor自定义RejectedExecutionHandler当队列满时改为调用BlockingQueue. put来实现生产者的阻塞
- DELPHI实现百度开放平台
- centos7下mariadb 忘记密码处理方法
- (1) Hive JOIN语句详解
- 程序员必须知道的10大基础实用算法及其讲解
- 获取某一网页的内容
- android事件传递
- 一个毕业十年的人对北邮师弟师妹找第一份工作的一封信(一)
- 计算机视觉、机器学习相关领域论文和源代码大集合
- java 基本知识点学习
- Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item