[nflug] PHP (switch vs. nested if)

Roelant Ossewaarde rao3 at buffalo.edu
Thu Feb 21 15:14:47 EST 2008


On Feb 21, 2008, at 2:57 PM, Rob Dege wrote:

>
> I'm not took concerned about readability.  I already code in the  
> style of spaghetti, so cleanliness is not my first concern.  I  
> think I might break the switch into chunks of 20, and then use a  
> single if statement to determine which switch to compare the  
> variable against.
That would be a big mistake. I am a quite experienced software  
designer, and readability and cleanliness of your code should in fact  
*be* your first concern.

You have no control over code execution. A switch statement may be  
interpreted or compiled just as efficiently as a bunch of 'if'- 
statements. In your mind, an 'if' may be more efficient, because when  
considering 80 options, it's easier to eliminate one-by-one than to  
consider all 80 options at once. But you simply don't know how the  
compiler or interpreter translates your high-level statements; this  
is why you actually don't code in machine language itself.

What you *can* control, and what the compiler *can't*, is making sure  
that your code actually does what you want it to do, without any side  
effects. This is where the clean code and good documentation comes in.

By the way, it seems that with this particular small problem (80  
different choices), you'd never see a difference in efficiency either  
way.

Seriously, spend some time writing good code, it *always* pays off.  
PHP is pretty fast by itself, worry more about correctness.

Bye,

Roelant.


>
>
> Thanks for the replies though.
>
> Bob, I know not of this 'C' you language speak of... unless you  
> forgot to add the '#' after it ;)
>
> -Rob
>
> On Thu, Feb 21, 2008 at 1:11 PM, Robert Meyer <meyer_rm at yahoo.com>  
> wrote:
> Well, if you write the code in C, just create an array of addresses  
> of arrays and just directly access the array by position.  Then you  
> don't even need any comparisons. :-)
>
> Cheers!
>
> Bob
>
> --
> "When once you have tasted flight, you will forever walk the earth  
> with your eyes turned skyward, for there you have been, and there  
> you will always long to return."
> --Leonardo da Vinci
>
>
> ----- Original Message ----
> From: Franklin Kumro Jr <fkumro at gmail.com>
> To: nflug at nflug.org
> Sent: Thursday, February 21, 2008 12:18:07 PM
> Subject: Re: [nflug] PHP (switch vs. nested if)
>
> I would agree that a switch statement would be the preferred method.
> Multiple nested if statements hurt code readability, let alone a 1-80
> range.
>
> -Frank
> On Feb 21, 2008, at 11:43 AM, Timothy Finucane wrote:
>
> > A switch is the most efficient method. I'm not sure how much speed
> > performance is affected, but nested ifs would make the code
> > difficult to read.
> >
> > --
> > Timothy J. Finucane
> >
> > http://www.speljamr.com
> >
> > Facebook: http://www.facebook.com/p/Timothy_J_Finucane/682422189
> >
> >
> >
> > On 2/21/08, Rob Dege <livemotion at gmail.com> wrote:
> > Hi, I'm wondering which would provide faster processing time based
> > on the web page I'm building.
> >
> > I have a variable, let's call it $num.  $num is an int that can be
> > anywhere from 1 to 80.  Based on $num's value, an array is assigned
> > that is then used on the web page.  Since this is for a web page, I
> > want to minimize the wait time as much as possible, and I'm guessing
> > that this could be a potential bottleneck.  I have not written the
> > code yet, so I can't compare load times.  I'm considering this more
> > of a "do it the preferred way the first time".
> >
> > So I'm curious as to which would be faster, a simple switch with 80
> > possible cases, or a "nested if" that uses a sorting algorithm;  or
> > perhaps even more plausible, a combination of the two.
> >
> > Any random thoughts are appreciated :)
> >
> > --
> > -Rob
> >
> > Ben Franklin Quote: "They that can give up essential liberty to
> > obtain a little temporary safety deserve neither liberty nor  
> safety."
> > _______________________________________________
> > nflug mailing list
> > nflug at nflug.org
> > http://www.nflug.org/mailman/listinfo/nflug
> >
> >
> >
> >
> >
> > _______________________________________________
> > nflug mailing list
> > nflug at nflug.org
> > http://www.nflug.org/mailman/listinfo/nflug
>
> _______________________________________________
> nflug mailing list
> nflug at nflug.org
> http://www.nflug.org/mailman/listinfo/nflug
>
>
> Looking for last minute shopping deals? Find them fast with Yahoo!  
> Search.
>
> _______________________________________________
> nflug mailing list
> nflug at nflug.org
> http://www.nflug.org/mailman/listinfo/nflug
>
>
>
>
> -- 
> -Rob
>
> Ben Franklin Quote: "They that can give up essential liberty to  
> obtain a little temporary safety deserve neither liberty nor safety."
> _______________________________________________
> nflug mailing list
> nflug at nflug.org
> http://www.nflug.org/mailman/listinfo/nflug



More information about the nflug mailing list