繁体   English   中英

做这个的最好方式是什么?

[英]What is the best way to do this?

我不想一遍又一遍地重复相同的陈述。 做这个的最好方式是什么?

<?php
if ($a = '3'){
  statement 1;
  statement 2;
  statement 3;
}else if ($a = '2'){
  statement 1;
  statement 2;
}else if ($a = '1'){
  statement 1;
}
?>

为避免重复,您可以编码:

<?php
 ($a == '3' or $a == '2' or $a == '1') and statement 1;
 ($a == '3' or $a == '2' ) and statement 2;
 ($a == '3' ) and statement 3;    
?>

或者,这是相同的:

<?php
 if ($a == '3' or $a == '2' or $a == '1') { statement 1 ; }
 if ($a == '3' or $a == '2' ) {  statement 2; }
 if ($a == '3' ) {  statement 3; }   
?>

另外,看看Switch语句

引用php doc:

以下两个示例是两种不同的方式来编写相同的东西,一个使用一系列if和elseif语句,另一个使用switch语句:

<?php
if ($i == 0) {
    echo "i equals 0";
} elseif ($i == 1) {
    echo "i equals 1";
} elseif ($i == 2) {
    echo "i equals 2";
}

switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
}
?>

对于你的代码:

<?php
switch ($a) {
        case '3':
          statement 1;
          statement 2;
          statement 3;
          break;
        case '2':
          statement 1;
          statement 2;
          break;
        case '3':
          statement 1;
          break;
}
?>
<?php

for ($i = 1; $i <= $a; $i++) {
 echo $statement . $i;
}

正如danihp所说,你可以使用开关。 这是另一种没有休息的方式。 这种方法的缺点是你需要为$a每个可能值创建一个案例。

<?php
switch ($a) {
        case '3':
          statement 3;
        case '2':
          statement 2;
        case '1':
          statement 1;
          break;
        default:
          break;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM