On Fri, 2010-09-24 at 16:08 -0400, Joshua Kehn wrote:
> On Sep 24, 2010, at 4:04 PM, Ashley Sheridan wrote:
>
> > On Fri, 2010-09-24 at 15:54 -0400, Bob McConnell wrote:
> >
> >> From: tedd
> >>
> >>> At 2:23 PM -0400 9/24/10, Bob McConnell wrote:
> >>>>
> >>>> A switch works when a single test can dispatch all possible branches.
> >> If
> >>>> you have a series of tests where each looks for a different subset of
> >>>> conditions, you need an elseif.
> >>
> >>> Not so, O'wise one.
> >>>
> >>> This will work:
> >>>
> >>> switch(1)
> >>> {
> >>> case $a > $b:
> >>> /* whatever
> >>> break;
> >>>
> >>> case $c == 1:
> >>> /* whatever
> >>> break;
> >>>
> >>> case $d == 'this works':
> >>> /* whatever
> >>> break;
> >>> }
> >>>
> >>> Granted, it's not the normal way a switch works in some other
> >>> languages, but it does work in PHP. :-)
> >>
> >> That is just so wrong, it can't actually be taken seriously. There is
> >> simply no justification for such broken logic.
> >>
> >> Bob McConnell
> >>
> >
> >
> > I don't often use this type of logic, but I have used it before and it's
> > served me well. Essentially, a switch is a glorified if statement, and I
> > find them a lot nicer to read and write than a series of if/elseif
> > blocks.
> >
> >
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> >
> >
>
> Proper bracing style makes everything visually appealing.
>
> if(cond)
> {
> /* perform */
> }
> else if(cond)
> {
> /* action */
> }
> else if(cond)
> {
> /* if */
> }
> else
> {
> /* applicable to cond */
> }
>
> Rather then
>
> if(cond){
>
> } else if(cond) {
>
> } else if(cond) {
>
> } else {
>
> }
>
> which may look condensed but to me doesn't follow the program flow at all.
>
> Regards,
>
> -Josh
That is my preferred way of coding anyway for several reasons as you can
do this without causing any problems:
//if(condition)
{
// code here
}
whereas if you do it with the variant of this style:
// if(condition) {
// code here
//}
You have to comment out two lines instead of one to achieve the same
result, and you only save a byte (or two if the line ending is a
carriage return and a line break) by putting the opening brace on the
first line.
The style made sense when it was used for code printouts and displaying
on a text terminal, but in these modern days of GUI editors and the
(mostly conceptual) paperless office, there seems little point.
That is all a little off-topic though.
Thanks,
Ash
http://www.ashleysheridan.co.uk