How to convert between mm, cm, meters, kilometers, miles, feet, yards, and inches in PHP

1 Answer

0 votes
// Conversion functions (all convert *from meters* first)
function mmToMeters($mm)      { return $mm / 1000.0; }
function cmToMeters($cm)      { return $cm / 100.0; }
function kmToMeters($km)      { return $km * 1000.0; }
function milesToMeters($mi)   { return $mi * 1609.34; }
function feetToMeters($ft)    { return $ft * 0.3048; }
function yardsToMeters($yd)   { return $yd * 0.9144; }
function inchesToMeters($in)  { return $in * 0.0254; }

// Convert meters → all units
function toMillimeters($m) { return $m * 1000.0; }
function toCentimeters($m) { return $m * 100.0; }
function toKilometers($m)  { return $m / 1000.0; }
function toMiles($m)       { return $m / 1609.34; }
function toFeet($m)        { return $m / 0.3048; }
function toYards($m)       { return $m / 0.9144; }
function toInches($m)      { return $m / 0.0254; }

echo "Choose input unit:\n";
echo "1. Millimeters\n";
echo "2. Centimeters\n";
echo "3. Meters\n";
echo "4. Kilometers\n";
echo "5. Miles\n";
echo "6. Feet\n";
echo "7. Yards\n";
echo "8. Inches\n";
echo "Enter choice: ";
$choice = intval(readline());

echo "Enter value: ";
$value = floatval(readline());

// Convert chosen unit → meters
switch ($choice) {
    case 1: $meters = mmToMeters($value); break;
    case 2: $meters = cmToMeters($value); break;
    case 3: $meters = $value; break;
    case 4: $meters = kmToMeters($value); break;
    case 5: $meters = milesToMeters($value); break;
    case 6: $meters = feetToMeters($value); break;
    case 7: $meters = yardsToMeters($value); break;
    case 8: $meters = inchesToMeters($value); break;
    default:
        echo "Invalid choice\n";
        exit;
}

echo "\nConverted from meters (" . number_format($meters, 6) . " m):\n";
echo "Millimeters: " . number_format(toMillimeters($meters), 6) . "\n";
echo "Centimeters: " . number_format(toCentimeters($meters), 6) . "\n";
echo "Meters:      " . number_format($meters, 6) . "\n";
echo "Kilometers:  " . number_format(toKilometers($meters), 6) . "\n";
echo "Miles:       " . number_format(toMiles($meters), 6) . "\n";
echo "Feet (Foot): " . number_format(toFeet($meters), 6) . "\n";
echo "Yards:       " . number_format(toYards($meters), 6) . "\n";
echo "Inches:      " . number_format(toInches($meters), 6) . "\n";


/*
run:

Choose input unit:
1. Millimeters
2. Centimeters
3. Meters
4. Kilometers
5. Miles
6. Feet
7. Yards
8. Inches
Enter choice: 4
Enter value: 1

Converted from meters (1,000.000000 m):
Millimeters: 1,000,000.000000
Centimeters: 100,000.000000
Meters:      1,000.000000
Kilometers:  1.000000
Miles:       0.621373
Feet (Foot): 3,280.839895
Yards:       1,093.613298
Inches:      39,370.078740

*/

 



answered 2 hours ago by avibootz

Related questions

...