Re: professional code quick tip ---last---

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



thx to all
-- final release & good nigh!

        $f=0;

                if ( $ar[0]>0 and $ar[0]<=12)
                        $f=1;


                elseif ( $ar[0]>12 and $ar[0]<=14)
                        $f=2;

                elseif ( $ar[0]>14 and $ar[0]<=18)
                        $f=3;

                if ( $ar[0]>18)
                        $f=4;







2005/9/21, Robert Cummings <robert@xxxxxxxxxxxxx>:
> On Tue, 2005-09-20 at 19:20, adriano ghezzi wrote:
> > hy guys this night I'm quite tired
> >
> > I need a little tip
> >
> >  ok var n could be from 0 to 12
> >
> > var f must be set
> > f=1 if    0<n<=4
> > f=2 if   5<n<=7
> > f=3 if  8<n<=12
> > f=4 if n>12
> >
> > due to my fatigue I coded four if-if else statement,
> >
> > in other languages it is possible use conditional epression in switch case
> > like
> > switch $n
> >
> > case (0<n<=4):
> > ........
> >
> > but no in php
> >
> > any suggestion for more professional coding then 4 if/else statement
> 
> For such a small set I'd say that's as good as it gets. However if there
> were 100 intervals you could try the following:
> 
> function f( $n )
> {
>    $map = array
>    (
>        //     min,   max,    f
>        array(   0,     4,    1 ),
>        array(   5,     7,    2 ),
>        array(   8,    12,    3 ),
>        array(  17,  null,    4 ),
>    );
> 
>    foreach( $map as $criteria )
>    {
>        if( $criteria[0] === null || $n > $criteria[0]
>            &&
>            $criteria[1] === null || $n <= $criteria[1] )
>        {
>            return $criteria[2];
>        }
>    }
> 
>    return null;
> }
> 
> I think your code is flawed by the way, the lower endpoints are only
> compared for greater than value and not equal to value meaning $n with
> value 4 would not match any f value.
> 
> Cheers,
> Rob.
> --
> .------------------------------------------------------------.
> | InterJinn Application Framework - http://www.interjinn.com |
> :------------------------------------------------------------:
> | An application and templating framework for PHP. Boasting  |
> | a powerful, scalable system for accessing system services  |
> | such as forms, properties, sessions, and caches. InterJinn |
> | also provides an extremely flexible architecture for       |
> | creating re-usable components quickly and easily.          |
> `------------------------------------------------------------'
> 
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux