Re: IF or SWITCH
| From: | Chris | Date: | Thu, 06 Apr 2006 03:32:30 +0000 |
| Subject: | Re: IF or SWITCH | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-233324@lists.php.net to get a copy of this message | ||
Ray Hauge wrote:
Hello World! wait, not coding... (sorry, long night) Okay, I finally finished hashing out all the logic for a very complex set of rules to determine what "type" an application should be set to. I won't bore you with the details of it, but the question is... I have 57 if/elseif/else statements because of all the different criteria. Is it considered better programming practice to use if/elseif/else statements over a switch(true) case (true && false || true || false) syntax? Basically, I'm not too happy with the readability of the code, but I'm afraid that at this point there's not much I can do... code snippet: if($numFFELP > 1 && count($FFELP_Lenders) > 1 && $numFFELP == $numTotal){ $retVal = array(TRUE, 'A'); }elseif($numFFELP > 0 && $enumFFELP > 0 && count($FFELP_Lenders) > 1 && $enumFFELP + $numFFELP == $numTotal){ $retVal = array(TRUE, 'A'); }elseif($numFFELP > 0 && $numCONS > 0 && count($FFELP_Lenders) > 1 && $numFFELP + $numCONS == $numTotal){ etc.Are you in a function? Maybe it'll be clearer/easier to follow if you return when you find the right condition: if ($numFFELP > 1 && count($FFELP_Lenders) > 1 && $numFFELP == $numTotal) { return array(TRUE, 'A'); } if (..... PS - count($array) does a count every time, so depending on how large you expect this array to get, it could be quicker (processing time) to: $count_lenders = count($FFELP_Lenders); if ($count_lenders > 1).... -- Postgresql & php tutorials http://www.designmagick.com/