do/while loop

Hi,  I am trying a do/ while loop
 and i want to know if the  logic is right,  here is the code

  <?php
        // do-while loop below
        do{
           $chicks = rand(0,1,2,3,4);
           $chicksCount ++;
           if($chicks){
               echo"how many chicks in a bar?";
         
           }
            else {
         echo "how many dudes?";
        }while($chicks);
        $longHair ="girls";
        $shortHair="dudes";
        echo"there are {$chicks}{$longHair}or just{$shortHair}";
    ?>
imagekrazyAsked:
Who is Participating?
 
Ray PaseurConnect With a Mentor Commented:
This book will help you get a foundation in PHP.
http://www.amazon.com/PHP-MySQL-Web-Development-Edition/dp/0672329166/

Just a guess, but I think most professional programmers would probably use a while() loop instead of the do/while construct.

<?php
$chicks = rand(0,1,2,3,4);
while ($chicks> 0)
{
    echo "$chicks CHICKS REMAIN";
    $chicks--;
}
echo "CHICKS ALL GONE";

Open in new window

0
 
imagekrazyAuthor Commented:
Thank you
0
 
Julian HansenCommented:
The do/while is correct in terms of it will run however some comments on the code

1. chicksCount is never used - so incrementing in the loop is not really achieving anything
2. You will only ever have one instance of how many dudes - as this can only happen when chicks is 0 which terminates the loop
3. You are assigning chicks a random value but this is only used for terminating the loop. Your use of rand(0,1,2,3,4) is understandable only if you want a 1 in 5 chance of it selecting a 0.
4. The last echo of the code will always output
there are {0}{girls} or just{dudes}

I am guessing you wanted to put chickCount in where you currently have chicks

i.e.
<?php
// do-while loop below
do{
   $chicks = rand(0,1,2,3,4);
   $chicksCount ++;
   if($chicks){
	   echo"how many chicks in a bar?";
 
   }
	else {
 echo "how many dudes?";
}while($chicks);
$longHair ="girls";
$shortHair="dudes";
echo"there are {$chicksCount}{$longHair}or just{$shortHair}";
?> 

Open in new window

The while loop version could be written as
while(rand(0,1,2,3,4)) {
   $chicksCount++;
   echo"how many chicks in a bar?";
}
echo"how many dudes?";
echo"there are {$chicksCount}{girls} or just{dudes}";

Open in new window

Not sure what the purpose of longhair / shorthair is - so in above example have just put in the constants in the output.

So in answer to your question - is the logic right - we can't answer that without knowing what it is you are trying to achieve.
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
imagekrazyAuthor Commented:
Thank you also, I don't know how to assign points to you after I already submitted the points to the first question.
0
 
Ray PaseurCommented:
Thanks for the points (and buy that book -- a month of study will put you at least a year ajead of trial and error learning, I promise), ~Ray
0
 
Julian HansenCommented:
Thank you also, I don't know how to assign points to you after I already submitted the points to the first question.

Don't worry - I submitted after you had closed the question.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.