【发布时间】:2013-01-21 15:15:39
【问题描述】:
我想将以下if else condition 转换为nested ternary 运算符。
if ($projectURL) {
echo $projectURL;
} elseif ($project['project_url']) {
echo $project['project_url'];
} else {
echo $project['project_id'];
}
我写的如下。
echo ($projectURL)?$projectURL:($project['project_url'])?$project['project_url']: $project['project_id'];
但是发现不能正常工作。这不是正确的方法吗?
【问题讨论】:
-
不要那样做。三元运算符很容易变成不可读的混乱。嵌套的更是如此。为此坚持使用 if/else。它使代码更易于维护。
-
如果您不介意,请重新标记问题..
-
我在文本框值中使用了嵌套三元运算符。感觉很难维护“if else 嵌套循环”。
-
@MuhammedShihabudheen — 这通常意味着你应该让它成为一个可以调用它的函数。
-
@Quentin :我在整个项目中只使用了一次代码。为此目的创建函数是否是好方法?如果是,那么我应该在哪里创建函数?在帮助程序中还是查看文件本身?
标签: php if-statement ternary-operator