stavros-s
8/17/2013 - 5:36 PM

PHP Snippets: Distance Conversion: The following PHP code snippet will convert between inches, feet and miles.

PHP Snippets: Distance Conversion:

The following PHP code snippet will convert between inches, feet and miles.



<?php


  function distance($curlen,$type,$totype,$on)
  {


    //Check to see if the first value is an interger
    if( !is_int($curlen) )
    {

      return 'Wrong input type for first value';

      exit;

    }


    //Make sure second value is either f,i, or m
    if( $type!="f" && $type!="i" && $type!="m" )
    {

      return 'Wrong input type for second value';

      exit;

    }



    //Make sure third value is either f,i, or m
    if($totype!="f"&&$totype!="i"&&$totype!="m")
    {

      return 'Wrong input type for third value';

      exit;

    }


    //Make sure fourth value is either 1 or 2
    if($on!=1&&$on!=2)
    {

      return 'Wrong input type for fourth value';

      exit;

    }


    //If it passes the above, get the current type
    switch($type)
    {

      //if it is an i do the math
      case "i":

        if($totype=="f")
        {

          $len = $curlen / 12;

          if($on==1)
          {

            return number_format(round($len,1)).' FT';

          }
          else
          {

            return number_format(round($len,1));

          }

        }
        elseif( $totype=="m" )
        {

          $len = $curlen / 63360;

          if( $on==1 )
          {

            return number_format(round($len,1)).' MI';

          }
          else
          {

            return number_format(round($len,1));

          }

        }

      break;


      //if it is an f do the math
      case "f":

      if( $totype=="i" )
      {

        $len = $curlen * 12;

        if($on==1)
        {

          return number_format(round($len,1)).' IN';

        }
        else
        {

          return number_format(round($len,1));

        }


      }
      elseif( $totype=="m" )
      {

        $len = $curlen / 5280;


        if($on==1)
        {

          return number_format(round($len,1)).' MI';

        }
        else
        {

          return number_format(round($len,1));

        }


      }

      break;

      //if it is an m do the math
      case "m":


      if( $totype=="i" )
      {

        $len = $curlen * 63360;

        if( $on==1 )
        {

          return number_format(round($len,1)).' IN';

        }
        else
        {

          return number_format(round($len,1));

        }


      }
      elseif
      ( $totype=="f" )
      {

        $len = $curlen * 5280;

        if( $on==1 )
        {

          return number_format(round($len,1)).' FT';

        }
        else
        {

          return number_format(round($len,1));

        }

      }

      break;

    }

}



  //position 1 = distance numaric numbers only no commas

  //position 2 = current lenght type of position 1

  //position 3 = convert lenght type of position 1 and 2

  //position 4 = FT,MI,IN extentions on or off :: 1=on : 2=off

  //m = miles

  //f = feet

  //i = inches

  echo "123 Miles equals ".distance(123,"m","f",1);


?>