代码片段展示了如何将歌曲时长(以秒为单位,可能包含毫秒)转换为分钟、秒和毫秒的格式化输出。让我们改进这段代码,使其更健壮、更易读,并处理潜在的错误。
<?php $jsonString = '[{"time": "123.456", "lineLyric": "第一句歌词"}, {"time": "246.789", "lineLyric": "第二句歌词"}]'; // 示例JSON数据 $jsonData = json_decode($jsonString, true); if (json_last_error() !== JSON_ERROR_NONE) { die("JSON解码错误: " . json_last_error_msg()); // 处理JSON解码错误 } foreach ($jsonData as $item) { $timeInSeconds = (float)$item['time']; // 直接将time转换为浮点数 if (!is_numeric($timeInSeconds)) { echo "无效的时间格式: {$item['time']}\n"; // 处理非数字时间值 continue; // 跳过当前项目 } $minutes = floor($timeInSeconds / 60); $seconds = floor($timeInSeconds % 60); $milliseconds = round(($timeInSeconds * 1000) % 1000); // 计算毫秒,并四舍五入 $formattedTime = sprintf('%d:%02d.%03d', $minutes, $seconds, $milliseconds); // 使用.作为毫秒分隔符 echo "[$formattedTime]{$item['lineLyric']}\n"; } ?>
改进说明:
此改进后的代码更加稳健,能够处理各种情况,包括无效的JSON数据和非数字的时间值,并提供更清晰的错误提示。 它也更易于理解和维护。
以上就是如何将歌曲时长转换为分钟、秒和毫秒并格式化输出?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号