经测试代码如下:
/**
* 英尺,英寸转换
*
* @param
* @arrange (编程之家) jb51.cc
**/
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,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));
}
}
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));
}
}elseif($totype==f){
$len = $curlen * 5280;
if($on==1){
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 distance(123,m,f,1);
/*** 来自编程之家 jb51.cc(jb51.cc) ***/