Php 内置函数方法使用
Php 内置函数方法使用
Alexphp 内置函数方法使用
- reset
- strip_tags
- ReflectionClass::getConstructor
- ReflectionClass
- newInstanceArgs
- is_callable()
reset
- 输出数组中的当前元素和下一个元素的值,然后把数组的内部指针重置到数组中的第一个元素:
- 代码示例
1
2
3
4
5
6<?php
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>"; //Bill
echo next($people) . "<br>"; //Steve
echo reset($people); //Bill
?>
strip_tags
- 剥去字符串中的 HTML 标签:
- 代码示例
1
2
3<?php
echo strip_tags("Hello <b>world!</b>"); //Hello world!
?>
ReflectionClass::getConstructor
- 获取类的构造函数
- 代码示例
1
2
3
4
5<?php
$class = new ReflectionClass('ReflectionClass');
$constructor = $class->getConstructor();
var_dump($constructor);
?> - 输出
1
2
3
4
5
6object(ReflectionMethod)#2 (2) {
["name"]=>
string(11) "__construct"
["class"]=>
string(15) "ReflectionClass"
}
ReflectionClass
- 映射类
- 代码实例
1
2
3
4
5
6
7class Hello { //定义一个类
static function index() {
echo 'hello world';
}
}
$class=new ReflectionClass('Hello'); //建立 fuc这个类的反射类
var_dump($class); - 输出
1
2
3
4
5object(ReflectionClass)#1 (1) {
["name"]=>
string(5) "Hello"
}
newInstanceArgs
- 从给出的参数创建一个新的类实例。
- code
1
2
3
4
5<?php
$class = new ReflectionClass('ReflectionFunction');
$instance = $class->newInstanceArgs(array('substr'));
var_dump($instance);
?>- 如果类的构造函数不是 public 的将导致产生一个 ReflectionException。
- 当 args 指定了一个或多个参数,而类不具有构造函数时,将导致一个 ReflectionException。
is_callable()
- 检测函数是否可以调用 是否合法结构
- code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19class test {
static function a() {
return "test";
}
}
class abc {
public function a($Object,$funcName){
if (!is_callable(array($Object,$funcName))){
echo("Error");
}else {
echo("OK");
}
}
}
$abc=new abc();
$abc->a("test","aa"); //test类下没有aa方法,会输出error
$abc->a("test","a"); //test类下有a方法,会输出ok