在PHP编码过程中,我们经常写到类似下面的语句:
1 $var = isset($var) && !empty($var) ? $var : $defaultValue;
语法看上去很冗长,所以建议简写成1个函数或者创建1个新的运算符||| :
1 $var = judge($var,$defaultValue);
2 $var = $var ||| $defaultValue; // 非常类似javascript中的 |
这个函数的定义为:
1 function judge($var,$defaultValue) {
2 return $var = isset($var) && !empty($var) ? $var : $defaultValue;
3 }
这个函数使用的场合比较多,所以建议下面的实现方法:
- 单独写个普通函数,像上面那样调用
- 写到框架代码中,使用时调用框架代码
- 写成 PHP 的 C 扩展,理想情况是加入到pear库中,这样效率还会高一点点
- 修改PHP Zend 引擎,将judge($var,$defaultValue) 变为PHP的内建函数,或者增加上面说的|||运算符
文章来源:Zuocheng Liu' IT Blog 《由三目运算符的想出的PHP改进建议》 http://it.zuocheng.net