PHP的三元运算符通常在简洁与清晰度之间起关键作用。简要回顾:PHP三元运算符使您可以编写单行比较,从而替换如下代码:
<?phpif (isset($value)) {
$output = $value;} else {
$output = 'No value set.';}有了这个:
<?php$output = isset($value) ? $value : 'No value set.';
第二个代码示例显然更简单,并且在许多情况下(尽管当然不是全部),它仍然保留了足够的清晰度以成为有价值的工具。关于三元运算符是否以牺牲简洁为代价而牺牲了清晰度,存在很多争论。我们只说它是一种工具,并且像其他任何工具一样,它可以被很好地使用或不好使用。
常规三元运算符的语法为(expression) ? value if truthy : value if falsy。表达式也可以只是一个变量,它将测试该变量是真还是假:
<?php$output = $value ? $value : 'No value set.';
问题是,上面的示例既常见又令人讨厌,重复出现:不得不写$value两次这样的感觉简直是错。
好吧,我今天发现,PHP 5.3为此三元运算符的使用引入了偶数语法。您可以在docs上了解更多信息,但这是我们可以使以上示例更加简洁的方法:
<?php$output = $value ?: 'No value set.';
如果这看起来很熟悉,那是因为:这正是PHP缩短其他运算符的方式,例如缩短了它:
<?php$value = $value . $other_value;
对此:
<?php$value .= $other_value;
<?php //高先生简单验证码. //随机数 //为什么循环0-15的数字 //因为要实现最简单的字母和数字混搭 //16进制0-9 a-f //dechex 十进制转换为16进制 //创建一个四位的验证码. //$nmsg.  ...
原理:使用curl_init()创建多个请求实例,再使用curl_multi_init()批量执行创建的多个请求实例。文件1:curl.php<?php $threads=500;//并发请求次数 $url='http://blog.cn/index.php?';...
(1).前端文件:<form action="upload.php" method="post" enctype="multipart/form-data"> &...
面试中PHP面试官会问调用一个不存在的方法,如何知道是哪个文件哪行调用的?假设方法是getWorkLoad()回答1:开启PHP错误输出,PHP会输出Fatal error: Call to undefined function getWorkLoad() in D:\wwwroot\thinkpa...
参数中包含gb2312的字符串,返回结果是false或者null(不同PHP版本具有差异性)代码:<?php $dbms = 'mysql'; $host = '192.168.8.8'; $dbName =&n...
<?php /** * daemonize让当前脚本为守护进程执行 * @param string $callback 匿名函数 */ function daemonize($callback) {...