2016-10-24 3 views
1

이것은 처음으로 stackoverflow를 사용하는 것입니다. 그런 식으로, 나는 약간의 PHP 문제가있는 것 같다. 19 가지 음료 코드를 출력하는 것입니다. 여기PHP : 19 개 음료를 올바르게 포맷하는 방법

19 drinks can serve odd number of guests. 
You take 1 down from 19... 
18 drinks can serve even number of guests. 
You take 2 down from 19... 
17 drinks can serve odd number of guests. 
You take 3 down from 19... 
16 drinks can serve odd number of guests. 

를 실제 코드 : 그것은 다음 출력한다 대신

19 drinks can serve odd number of guests. 
You take 19 down from 19... 
18 drinks can serve even number of guests. 
You take 18 down from 19... 
17 drinks can serve odd number of guests. 
You take 17 down from 19... 
16 drinks can serve odd number of guests. 

내 현재 코드, 다음 출력한다.

<?php 

    $drinks= 19; 

    for($drinks= 19; $drinks>= 1; $drinks--) 
    { 

     if ($drinks % 2) 
     { 
      echo '<br />'; 
      echo $drinks. ' drinks can serve odd number of guests. '; 
      echo '<br />'; 
      echo 'You take ' . $drinks. ' down from 19...'; 
      echo '<br />'; 
      continue; 
     } 
     else 
     { 
      echo '<br />'; 
      echo $drinks. ' drinks can serve even number of guests. '; 
      echo '<br />'; 
      echo 'You take ' . $drinks. ' down from 19...'; 
      echo '<br />'; 
      continue; 
     } 
    } 
?> 

나는 그루터기에있는 것 같습니다. 어떤 문제를 제대로 처리 할 수 ​​있습니까?

+1

"대신에 받아보세요". $ drink. '19 살에서 ...', '너와 함께'. (19- $ drinks + 1). 'down from 19 ...'; ' – Scott

+0

올바른 형식; -https : //eval.in/665671 –

+0

여기에서 책 읽기 : http://99-bottles-of-beer.net/language-php-1825. html noop version – JOUM

답변

0

나는 한 번만 음료의 수를 정의하는 것이 좋습니다 것입니다 :

<?php 

    $drinkNr=19; 
    for ($drinks= $drinkNr; $drinks> 0; $drinks--) 
    { 
    : 
    // now you can do the text 
    echo 'You take ' . ($drinkNr - $drinks + 1) . ' down from ' . $drinkNr . '..'; 
+0

이것은 또한 도움이된다. 고마워. – xy1990

-1
$drinks_total = 19; 

for($drinks_taken = 1; $drinks_taken <= $drinks_total; $drinks_taken++) 
{ 

    if ($drinks_taken % 2) 
    { 
     $html = ' 
      <br /> 
      %d drinks can serve even number of guests 
      <br /> 
      You take %d down from %d... 
      <br /> 
     '; 
    } 
    else 
    { 
     $html = ' 
      <br /> 
      %d drinks can serve odd number of guests 
      <br /> 
      You take %d down from %d... 
      <br /> 
     '; 

    } 

    echo sprintf($html,$drinks_total - $drinks_taken, $drinks_taken, $drinks_total); 
} 
+1

Downvoted, 코드에 대한 설명을 추가 할 수 있습니까? – tjons

0

깜짝이야. 여기에 간단하고 쉬운 코드가 있습니다.

<?php 

$total = 19; 
$i = 1; 
for ($c=$total;$c>0;$c--) { 
    $output = (($c % 2) == 1) ? $c.' drinks can serve odd number of guests' : $c.' drinks can serve even number of guests'; 
    $output .= ($i != $total) ?'<br>You take '.$i.' down from '.$total.'...' : ''; 
    echo $output.'<br>'; 
    $i++; 
} 

?> 
관련 문제