On Monday, October 15, 2012 08:21:23 PM you wrote: > Bastien Koert > > On 2012-10-15, at 8:16 PM, David McGlone <david@xxxxxxxxxxxxx> wrote: > > I've been sitting here playing around with foreach() and I'm wondering why > > I am getting these results. here's what I've been fooling around with. > > the code has no perticular meaning, but I noticed if the script fails, I > > get the sentence "Too expensive I'm going home LOL" 6 times because there > > are 6 words in the sentence. I also have a database that looks like this: > > > > product_id product price > > 1 Milk 2.59 > > 2 bread 1.05 > > > > And when $row is equal to 0 the output I get is > > 1 1 Milk Milk 2.59 2.59 Which is printed to the screen according to how > > many rows are in the db I belive. > > > > So my question is why this behavior? I was expecting something like a > > while > > loop. > > Dave, > > Foreach is an iterator over an array. Your $row is a pointer to a db result > set. If you were to pass the $row result set to the foreach as an array, > you'd get what you think you should > > Www.php.net/foreach Thanks Bastien. Heres what I started with: $result = mysql_query("SELECT * FROM items"); $row = mysql_fetch_array($result); foreach($row as $rows){ $row = 0; if($row == 0){ echo $rows; } else{ echo "Too expensive I'm going home LOL"; } } Here's what I ended up with after you gave me the advise: $result = mysql_query("SELECT * FROM items"); $rows = array(); while($row = mysql_fetch_array($result)) $rows[] = $row; foreach($rows as $row){ $product = $row['product']; $price = $row['price']; echo "$product "; echo "$price "; $justright = 0; $toohigh = 5; //I was going to use this to check if the price was too high just so I could use an elseif in the exercise, but I realized that it would only work if the if() evaluated to false, which would be impossible. Ahhh pizz on it, it was fun anyway! :-) if($justright <= $price){ echo "Not bad. I'll buy it.<br />"; } else echo "Too expensive I'm going home LOL "; } It's a dumb script that makes no sense but I had a blast doing this. When things start coming together like this, it gets so gratifying. :-) -- David M.