I don't understand what your problem is, however here are my functions, and their comparison to yours:
<?php
function meterToFeetInches($meter,$precision = 0) {
$inches = $meter * 39.3700787;
$feet = floor($inches/12);
$inches = round($inches - (12*$feet),$precision);
return $feet . "'" . $inches .'"';
}
function feetInchesToMeter($feetinches,$precision = 2) {
list($feet,$inches) = explode("'",$feetinches);
$inches = preg_replace('/[^0-9.]/','',$inches);
$inches = $inches + ($feet * 12);
return round($inches / 39.3700787,$precision);
}
function convert2feet($num){
$feet = floor( $num / 0.3048 );
$inches = ($num - 0.3048*$feet) / 0.0254;
$fi = $feet."' ".round($inches,0)."\"";
return $fi;
}
function convert2meter($num){
$numbers = explode("'",$num);
$feet = intval($numbers[0]);
$inches = str_replace('"','',$numbers[1]);
$meter = ($feet* 0.3048)+($inches*0.0254) ;
return $meter;
}
$fi = "12'10\"";
$m = 3.3;
echo "Dero's:<br>";
echo $fi.' = '.feetInchesToMeter($fi).'m<br>';
echo $m.'m = '.meterToFeetinches($m).'<br><br>';
echo "Scialom's:<br>";
echo $fi.' = '.convert2meter($fi).'m<br>';
echo $m.'m = '.convert2feet($m);
Which outputs:
Dero's:
12'10" = 3.91m
3.3m = 10'10"
Scialom's:
12'10" = 3.9116m
3.3m = 10' 10"