如何解决PHP简写if / else if-基本
| 我有一些现有的代码,我在理解时遇到了问题。 我通常不喜欢速记,因为它需要更改配置,而且更难阅读。因此,我对它不是特别熟悉。现有的代码是由热爱速记的人编写的。 当我遇到这个: if($ type == \'a \')$ type = \'Type A \'; 否则if($ type == \'b \')$ type = \'Type B \'; 否则if($ type == \'c \')$ type = \'Type C \'; 我将其读为简单的if和else if字符串。我将其转换为: if($ type == \'a \'){ $ type = \'类型A \'; } else if($ type == \'b \'){ $ type = \'类型B \'; } else if($ type == \'c \'){ $ type = \'类型C \'; } 我以为这很简单,但是在实践中我得到了不同的结果。上面的两个代码段有什么区别?解决方法
它们是绝对相同的,区别必须在其他地方。
这是之前和之后代码的副本/粘贴内容吗?
我同意anubhava,不过,为了清楚起见,我倾向于将其转换为切换案例:
switch ($type) {
case \'a\':
$type = \'Type A\';
break;
case \'b\':
$type = \'Type B\';
break;
case \'c\':
$type = \'Type C\';
break;
default:
break;
}
, 它们应该是相同的。我将创建一个测试文件,但我认为它不会带来改变。
哇,做了一个测试文件:
<?php
$type = \'a\';
if($type == \'a\') $type = \'Type A\';
else if($type == \'b\') $type = \'Type B\';
else if($type == \'c\') $type = \'Type C\';
echo $type . \"\\n\";
$type = \'b\';
if($type == \'a\') $type = \'Type A\';
else if($type == \'b\') $type = \'Type B\';
else if($type == \'c\') $type = \'Type C\';
echo $type . \"\\n\";
$type = \'c\';
if($type == \'a\') $type = \'Type A\';
else if($type == \'b\') $type = \'Type B\';
else if($type == \'c\') $type = \'Type C\';
echo $type . \"\\n\";
$type = \'a\';
if($type == \'a\') {
$type = \'Type A\';
} else if($type == \'b\') {
$type = \'Type B\';
} else if($type == \'c\') {
$type = \'Type C\';
}
echo $type . \"\\n\";
$type = \'b\';
if($type == \'a\') {
$type = \'Type A\';
} else if($type == \'b\') {
$type = \'Type B\';
} else if($type == \'c\') {
$type = \'Type C\';
}
echo $type . \"\\n\";
$type = \'c\';
if($type == \'a\') {
$type = \'Type A\';
} else if($type == \'b\') {
$type = \'Type B\';
} else if($type == \'c\') {
$type = \'Type C\';
}
echo $type . \"\\n\";
结果确实相同。
Type A
Type B
Type C
Type A
Type B
Type C
, 是$ type返回不受欢迎的吗?如果是这样,我会:
if($type == \'a\') {
$type = \'Type A\';
} else if($type == \'b\') {
$type = \'Type B\';
} else if($type == \'c\') {
$type = \'Type C\';
} else {
$type = \'Other Type\';
}
但是我完全同意以上这些人,实际上您应该将其翻译为:
switch ($type) {
case \'a\':
$type = \'Type A\';
break;
case \'b\':
$type = \'Type B\';
break;
case \'c\':
$type = \'Type C\';
break;
default:
$type = \'Other Type\';
break;
}
这样一来,您便可以始终看到不想要的数据,这取决于我总是在开发模式下设置默认值(尤其是esp)的情况。
, 这实际上不是简写语法。这只是if / else if / else如果每个部分只有一个语句,因此不需要{}
。
使用换行符进行格式化时,它会更加清晰:
if($type == \'a\')
$type = \'Type A\';
else if($type == \'b\')
$type = \'Type B\';
else if($type == \'c\')
$type = \'Type C\';
, 我认为您首先需要php开关案例以简化上述代码。
尽管我必须提到,我没有发现任何代码差异2个版本的代码。切换条件使它比许多if,if,if,if语句更具可读性的是jsut。
, 它们是相同的,错误在其他地方。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。