At 1:50 PM -0400 9/24/10, Andy McKenzie wrote:
Hey folks,

  Here's the deal.  I have the following code:

if($col_vals[$i][$val['column']] == $search_result[0][$col])
          { echo ' selected="selected"'; }
elseif($val['default'] == $col_vals[$i][$val['column']])
          { echo ' selected="selected"'; }

  It's supposed to check whether there's a value in the db
($search_result[0][$col]) that matches the current column value, and
if not, check whether the default matches it.  It does that, sort of.
In fact, both statements trigger, which I would have said wasn't

  So the question is:  what causes both parts of an if/elseif
statement to trigger?  As far as I can see my punctuation is correct,
and I've confirmed through debugging statements that all the values
are what I expect, so how do I make the elseif stop acting like
another if?  Or, alternatively, have I just misunderstood all this
time what the if/elseif statement does?



I am not in the majority when I say for conditions where you have more than two options use a switch control and not an elseif.

In 40+ years of programming, I have never used elseif because the control confuses me. It is *much* easier for me to use, understand, and document a switch statement than an elseif.

Your mileage may vary.




PHP General Mailing List (
To unsubscribe, visit:

Reply via email to