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);
?>