原文地址EvenshorterternaryoperatorsinPHPusing?:今天发现了PHP三元运算符的一个小用法。这是给我脑干的一点乐趣!PHP三元运算符是参数分配的主要用途。主要用途:PHP三元运算符允许您在一行代码中描述决策代码,替换如下代码:if(isset($value)){$output=$value;}else{$output='Novalueset.';}改为使用以下内容:$output=isset($value)?$value:'没有设置值。';第二个代码示例是一个非常简洁的使用,在很多情况下(不是全部),它是一个非常实用的使用。关于是否应该使用三元运算符存在很多争论;让我说,这是一个工具,和其他工具一样,只是使用正确与否。通用语法是(expression)?真值:假值。这个表达式可以是一个变量,测试是真还是假:$output=$value?$value:'没有设置值。';问题是:上面的例子非常常见和重复,而且有点烦人:写两次$value感觉像是一个错误。幸运的是,今天我发现在PHP5.3中引入了更简洁的使用三元运算符的语法。您可以从手册中了解这一点,但我们如何使上面的示例更简洁:$output=$value?:'Novalueset.';this看起来很眼熟,这是因为它类似于其他速记运算符:$value=$value。$其他值;转换为:$value.=$other_value;为了简洁起见,这意味着我们可以像这样缩写并不意味着我们应该这样写。但是,当我们编写简洁的代码时,这种方式看起来会更清晰,我们应该这样写,(而且这个特性允许我们在各种情况下使用这个运算符[这个特性允许我们在很多情况下DRY三元运算符])
