如何使用PHP实现三位字符串格式语义化版本号的递增升级
实现代码
function bumpPatchVersion(string $semver): string { // 校验输入是否符合三位纯数字语义化版本规范 if (!preg_match('/^[0-9]+\.[0-9]+\.[0-9]+$/', $semver)) { throw new \InvalidArgumentException('仅支持 x.y.z 格式的三位标准语义化版本号'); } $versionSegments = explode('.', $semver); // 补丁位加1 $versionSegments[2] = (int)$versionSegments[2] + 1; return implode('.', $versionSegments); }
测试示例
- 调用
bumpPatchVersion('1.0.0')返回结果为1.0.1 - 调用
bumpPatchVersion('1.0.12')返回结果为1.0.13 - 调用
bumpPatchVersion('2.5.99')返回结果为2.5.100
扩展说明
如果需要支持其他版本位升级,可以按需调整逻辑:
- 次版本升级:修改
$versionSegments[1]加1,同时将$versionSegments[2]置为0 - 主版本升级:修改
$versionSegments[0]加1,同时将$versionSegments[1]、$versionSegments[2]都置为0
内容的提问来源于stack exchange,提问作者Jip Helsen
相关产品推荐
相关产品推荐

