对于具有3种可能性的结构,最佳方式

时间:2013-10-29 15:40:23

标签: javascript if-statement

用3种可能性编写if结构(或开关或case或w / e)的最佳方法是什么。

if($tekst!=''){
$qry="tekst filled in";
}
elseif($aantal!=''){
$qry="aantal filled in";
}
elseif($aantal!=''&&$tekst!='')
{
$qry="both filled in";
}

3 个答案:

答案 0 :(得分:2)

  

这不适合stackoverflow。你的问题可能会是   关闭。我只是警告你

......只是想要编码风格建议的人......

由于组合检查,

switch语句无法使用($ aantal!=''&& $ tekst!='')。 所以if / else语句是你最好的选择(imho)。 不过我会把它写成:

if($aantal && $tekst) {
   $qry="both filled in";
}
else if($tekst) {
    $qry="tekst filled in";
}
else if($aantal) {
    $qry="aantal filled in";
}

我个人认为这种方式更具可读性。

注意:在发布问题之前,请将本地化敏感文本写入英语。

答案 1 :(得分:0)

在什么意义上最优?

一个想法是:

var r = [ [ undefined,  "tekst filled in" ],
          [ "aantal filled in", "both filled in" ]];

$qry = r[+($aantal!='')][+($tekst!='')];

+ -operator用于将'false'评估为0,将'true'评估为1以进行索引。 R也可以定义为具有键'true'和'false'的对象:

r = { "true" : { "true": "Both filled in", "false": "tekst filled in" },
      "false" : { "true": "aantal filled in" } };

$ qry = r [$ aantal!=''] [$ tekst!=''];

答案 2 :(得分:0)

if(something) {
    ...
}
else if(something-else-specific) { /* other specific case */
    ...
}
else { /* any other cases*/
   ...
}

这就是全部。