我如何在我的案例中使用if / else / elseif语句 - PHP

时间:2017-04-21 20:43:48

标签: php

我如何使用if / else / elseif ...在我的情况下,

因为当我尝试这些陈述时,

它说:语法错误,意外'如果' (T_IF)

我需要重复一次超过1次

   $row = array();   
   $row[] = if($aRow['status'] == "deleted"){'code..'};

3 个答案:

答案 0 :(得分:0)

您可以使用三元运算符来分配结果:

$row = array();   
$row[] = $aRow['status'] == "deleted" ? 'code..' : null;

当您需要根据status做更多事情时,最好的方法是为此引入一个功能:

function process($aRow) {
    if ($aRow['status'] == "deleted") {
        // do something when `deleted`
        return 1;
    } elseif ($aRow['status'] == "new") {
        // do something when `new`
        return 2;
    } elseif ($aRow['status'] == "updated") {
        // do something when `updated`
        return 3;
    } else {
        // do something else
        return 4;
    }
}

$row = array();
$row[] = process($aRow);

答案 1 :(得分:0)

您有两种方法可以通过PHP实现这一点:

第一种方式

你可以使用if / else / elseif:

if ($status_var=="deleted")
  {
  //code .....
  }
elseif ($status_var=="inserted")
  {
  //code .....
  }
elseif ($status_var=="edited")
  {
  //code .....
  }
esle
  {
  //code .....
  }

第二种方式

您可以使用开关/案例结构:

switch ($status_var)
  {
  case "deleted":
    //code .....
    break;
  case "inserted":
    //code .....
    break;
  case "edited":
    //code .....
    break;
  default:
    //code .....
  }

答案 2 :(得分:0)

这可能就是你所追求的。你可以遍历你从fetchAll()获得的结果数组中的每个记录,把你的if / elseif块放在这里,然后我假设你做了某种处理并将值保存到$ row数组?

$row = array();

$result = $sth->fetchAll();
foreach($result as $aRow){

    if($aRow['status'] == "deleted"){
        //do something
        $row[] = //whatever
    }
    elseif($aRow['status'] == "something else"){
        //do something else;
        $row[] = //whatever else
    }

}