2013-10-29 26 views
1

我正在學習PHP並試圖編寫一個小骰子循環。我不知道如何以更適當的語法改寫這個:有沒有一種方法可以解決這個問題,而最終沒有空{}?

<?php 
    $rollcount = 1; 

    do { 
     $v = rand(1, 6); 
     $w = rand(1, 6); 
     $rollcount++; 
     echo "<p>$v, $w</p>"; 
    } 
    while ($v != $w); 

    if ($v == $w) { 
     echo "<p>It took $rollcount turns until double!</p>"; 
    } else {} 
?> 

回答

1

你不需要有一個else語句:

if ($v == $w) { 
    echo "<p>It took $rollcount turns until double!</p>"; 
} 

如果事實上,你不應該有一個,除非它是要執行一個特定的任務。

0
$rollcount = 0; 
while(true){ 
    ++$rollcount; 
    $v = rand(1,6); 
    $w = rand(1,6); 
    echo "<p>".$v.", ".$w."</p>"; 
    if($v === $w){ 
     break; 
    } 
} 
echo "<p>It took ".$rollcount." turns until double!</p>"; 
3

簡單地刪除else子句,如果它沒有做任何事情

else {} 

你甚至都不需要說if聲明,因爲控制權只有在兩者相等時纔會到達那裏。

<?php 
    $rollcount = 1; 
    do { 
     $v = rand(1, 6); 
     $w = rand(1, 6); 
     $rollcount++; 
     echo "<p>$v, $w</p>"; 
    } 
    while ($v != $w); 
    echo "<p>It took $rollcount turns until double!</p>"; // that `if` was no needed here. Its implied. 
?> 
相關問題