【发布时间】:2015-04-06 05:33:59
【问题描述】:
是否可以通过三元运算符为变量赋值,而不必两次引用同一个变量?
例如,有没有这样的方法:
a=a=="1"?"yes":"no";
可以这样吗?:
a=="1"?"yes":"no";
我知道上面的那行可能行不通,所以我要求一个简短的替代方案,考虑到第一行。
对于小变量名(如上面的示例),这不是什么大问题。但是,如果在使用数组和更大的变量名时有办法帮助保持代码紧凑,那就太好了。我会对 Javascript 和 PHP 解决方案感兴趣。
【问题讨论】:
-
没有没有办法(对于php)
-
不,你的第二种方法行不通。你需要做一些类似于你的第一种方式的事情。
-
您必须先访问变量才能读取,然后才能写入。
-
我最近在 PHP 中尝试了以下内容:$a="1"?"yes":"no";它总是返回“是”,所以至少在 PHP 中会发生某种形式的赋值,尽管并不总是正确的。
-
@TristanBailey 这将始终将
"yes"分配给$a,无论其先前的值如何。
标签: javascript php ternary-operator