0.01, // 厘米到米 'm' => 1, // 米到米 'km' => 1000 // 千米到米 ]; // 定义从米转换的率 $fromMeters = [ 'cm' => 100, // 米到厘米 'm' => 1, // 米到米 'km' => 0.001 // 米到千米 ]; // 转换逻辑:先转换为米,再转换为目标单位 $valueInMeters = $value * $toMeters[$fromUnit]; $convertedValue = $valueInMeters * $fromMeters[$toUnit]; return $convertedValue; } /** * 格式化显示转换结果 * @param float $value 原始数值 * @param string $fromUnit 原始单位 * @param float $result 转换后数值 * @param string $toUnit 目标单位 * @return string 格式化的结果字符串 */ function formatResult($value, $fromUnit, $result, $toUnit) { return "{$value} {$fromUnit} = {$result} {$toUnit}"; } // 示例用法(可选) /* try { // 测试不同转换场景 echo formatResult(100, 'cm', unitConversion(100, 'cm', 'm'), 'm') . "\n"; echo formatResult(1, 'm', unitConversion(1, 'm', 'cm'), 'cm') . "\n"; echo formatResult(5, 'km', unitConversion(5, 'km', 'm'), 'm') . "\n"; echo formatResult(1000, 'm', unitConversion(1000, 'm', 'km'), 'km') . "\n"; } catch (Exception $e) { echo "错误: " . $e->getMessage() . "\n"; } */