同事经常使用PHP的三元运算符作为控制结构,而不是表达式的RHS。一个这样的例子:
list==''?list=val:list=list+','+val;
(在该示例中,语句在循环中调用以向字符串添加值,确保如果只有一个项目,则不会出现逗号分隔符。)实质上,他依赖于表达式评估做工作,并抛弃表达式结果。
除了眼睛很难,有没有理由避免这种构造?它的语法合法;它正确执行。但是我确定三元运算符并没有被设计成以这种方式使用,我想知道这样做会有后果。
答案 0 :(得分:3)
它可以正常工作,除了可读性之外我没有看到任何问题。
如果您认为眼睛很难,请更换此循环,然后调用implode
功能。