php幻想草案剧本

时间:2013-07-29 15:06:56

标签: php if-statement

我正在寻找创建一个蛇草稿脚本。我希望订单上升到阵列然后返回数组。

 $teams = array('mike','jim','chris','tim');

我希望订单

 Round 1
 Mike, Jim, Chris, Tim
 Round 2
 Tim, Chris, Jim, Mike

那将是两轮。我希望这是顺序并重复,但我无法用PHP弄明白。 我已经尝试从我的数据库中获取草稿中的最后一个选择。 $ lastpick =(提交给我的数据库的最后一个团队名称);

if(empty($lastpick) && $teams(0) == 'mike'){
  //do this
}else if($lastpick == $teams(0) && $teams(1) == 'jim'){
 // do this
}else if($lastpick == $teams(1) && $teams(2) == 'chris'){
  // do this
}else if($lastpick == $teams(2) && $teams(3) == 'tim'){
  // do this
}else if($lastpick == $teams(3) && $teams(3) == 'tim'){
  // do this
}

接下来我会做什么?这得到了命令迈克,吉姆,克里斯,蒂姆再次蒂姆,但我不能让它回到我的阵列中的第三队。 任何帮助都会非常感谢。

1 个答案:

答案 0 :(得分:1)

我不完全确定为什么在每个语句中需要&& $teams(x) == 'yyy',你已经知道它们是什么,因为订单是定义的,如果它们发生了变化,你需要更新所有这些语句。

您需要某种形式的旗帜来定义您当前正在向上或向下移动的方式。

boolean movingUp = true;

if(empty($lastpick)) { // first team }
else if(movingUp && $lastpick == $teams(0)) { // second team }
else if(movingUp && $lastpick == $teams(1)) { // third team }
else if(movingUp && $lastpick == $teams(2)) { movingUp = false; // fourth team }
else if(!movingUp && $lastpick == $teams(3)) { // fourth team }
else if(!movingUp && $lastpick == $teams(2)) { // third team }
else if(!movingUp && $lastpick == $teams(1)) { // second team }
else if(!movingUp && $lastpick == $teams(1)) { movingUp = true; $lastpick = null; // first team }

你不需要$lastpick == $teams(3),因为一旦你选择了倒数第二个,你知道下一个动作,同时向上移动,是最后一个团队。