服务优化之二(使用php语言结构代替函数)

来源:互联网 发布:java中的同步 编辑:程序博客网 时间:2024/06/08 09:48

我们先说一下语言结构 isset 和 empty

1. 定义

empty — 检查一个变量是否为空
""、0、"0"、NULL、FALSE、array()、var $var; 
以及没有任何属性的对象都将被认为是空的返回 TRUE
isset — 检测变量是否设置
检测变量是否设置,并且不是 NULL。
$a = 0;
empty($a) => true  isset($a) => true



仅仅是变量存在与否用isset
如果是 isset($data['a']) && $data['a']
这一类的 可以使用 empty($data['a']) 代替 
用isset了。


2. 性能

issetempty的性能差别不大。它们都是语言结构,不是函数,比函数更高效
同样是语言结构的还有如下:可以使用 function_exists 检测 

die()           echo()          empty()     exit()      eval()
include()       include_once()  isset()     list()      require()
require_once()  return()        print()     unset()     array() 


关于isset 和 in_array 这里有一个比较好的测试文章


3. 延伸

既然语言结构更加高效,我们实际中有哪些场景可以用语言结构代替函数


in_array($val,$arr)  => isset($arr[$val])
array_key_exists($key,$arr)  => isset($arr[$key])



















1 0