if语句格式化

时间:2012-01-03 10:57:16

标签: php if-statement

基本上,我总是使用'​​和'& '或'所以,我的脚本看起来像:

if ($value == '1' or $value == '2' or $value == '3') {
    //do stuff
}


if ($value == '1' and $user_logged == 'Admin') {
    //do stuff
}
  1. 有可能摆脱$value重复?
  2. 使用andor代替||&&有什么好处?

3 个答案:

答案 0 :(得分:4)

无法快捷方式表达

if ($value == 1 or 2 or 3) // invalid

但您可以用其他方式检查值:

if (in_array($value, array(1, 2, 3))) {
    // do stuff
}

or和||之间的差异是operator precedence。使用||和&&,而不是orand

答案 1 :(得分:3)

答案1.

$inArray = (1,2,3);
if (in_array($value,$inArray)) {
    //  do stuff
}

回答2。

Operator precedence

答案 2 :(得分:1)

您可以先使用if作为switch语句:

switch($value) {
   case "1":
      echo "value is 1";
      break;
   case "2":
      echo "value is 2";
      break;
   case "3":
      echo "value is 3";
      break;
}

回答第二个问题:Operator precedence