Re: if/elseif being treated as if/if

From: Date: Fri, 24 Sep 2010 18:11:58 +0000
Subject: Re: if/elseif being treated as if/if
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-308292@lists.php.net to get a copy of this message
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 possible. 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? Thanks, Alex
Alex: 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. Cheers, tedd -- ------- http://sperling.com/

« previous php.general (#308292) next »