可变函数使用注意。。。。
get_defined_function() 获取自定义的 和 系统自带的函数
可变函数案例
这里的意思是,可变函数不能用于语言结构这几个函数,即$a='echo';
然后调用$a($b);
PHP中的语言结构详解
1.什么是语言结构
语言结构:就是PHP语言的关键词,语言语法的一部分;它不可以被用户定义或者添加到语言扩展或者库中;它可以有也可以没有变量和返回值。
2.语言结构执行速度快的原因
函数都要先被PHP解析器(Zend引擎)分解成语言结构,所以,函数比语言结构多了一层解析器解析,速度就相对慢了
3.php中语言结构有哪些
echo()
print()
die()
isset()
unset()
include(),注意,include_once()是函数
require(),注意,require_once()是函数
array()
list()
empty()
4.怎样判断是语言结构还是函数
使用function_exists
eg:
function check($name){ if(function_exists($name)){ echo $name.'为函数'; }else{ echo $name.'为语言结构'; } }1234567
5.语言结构与函数的区别
1.语言结构比对应功能的函数快
2.语言结构在错误处理上比较鲁棒,由于是语言关键词,所以不具备再处理的环节
3.语言结构不能在配置项(php.ini)中禁用,函数则可以。
4.语言结构不能被用做回调函数
备注:
php.ini中怎样禁用函数?
php.ini中查找 disable_functions =
在等于后添加函数名,多个函数名用,分割
比如
disable_functions =
exec,passthru,popen,proc_open,shell_exec,system,chgrp,chmod,chown
这几种特殊形式的函数,学习起来是一次递进的,因为这几个函数时互相包含的
哪些系统函数,不适合使用可变函数?
可变函数的理解。。以及用print_r打印get_defined_functions()函数,可以得到一切函数,包括程序员自定义的函数
可变函数:将函数名赋值给字符串类型的变量(等量代换)
get_defined_functions() - 得到已定义的所有函数