Solved

# do/while loop

Posted on 2013-06-03
371 Views
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}";
?>
0
Question by:imagekrazy
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2
• 2
• 2

LVL 110

Accepted Solution

Ray Paseur earned 500 total points
ID: 39216337
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";
``````
0

Author Closing Comment

ID: 39216427
Thank you
0

LVL 57

Expert Comment

ID: 39216453
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}";
?>
``````
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}";
``````
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

Author Comment

ID: 39216488
Thank you also, I don't know how to assign points to you after I already submitted the points to the first question.
0

LVL 110

Expert Comment

ID: 39216549
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

LVL 57

Expert Comment

ID: 39216589
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

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework). Â  The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least â€¦
This article discusses how to implement server side field validation and display customized error messages to the client.
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Booleâ€¦
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).
###### Suggested Courses
Course of the Month5 days, 18 hours left to enroll