2013-07-29 94 views
-1

我期待創建一個蛇草稿腳本。我想讓訂單走上陣列,然後回到陣列。php幻想草稿腳本

$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 
} 

接下來我會做什麼?這得到了命令邁克,吉姆,克里斯,蒂姆然後蒂姆再次,但我不能得到它回到我的陣列中的第三隊。 任何幫助將非常感謝。

+2

以及它不是很清楚訂單背後的原理是什麼... – Mangiucugna

+0

的基本原理?它是一個幻想蛇的草案。 – Ricky

+5

認爲並非所有人都知道什麼是「幻想蛇草案」,也許你可以用更清晰的方式解釋排序算法,那麼不知道草稿的人也可以試圖幫助你 – Mangiucugna

回答

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),因爲一旦你拿起你知道下一個動作的倒數第一位,同時動了起來,是最後一支球隊。

+0

感謝這就是我一直在尋找。我正在添加一個while循環,它應該可以工作。多謝鬃毛。 – Ricky