查找版本号是否在指定范围内


Find if a version number is in a specified range

我有一个版本号作为字符串,版本号可以有主要版本以及多达3个次要版本位置。例如:3.4.0.1

我需要知道这个版本是否在预定义的版本范围内:例:3.1.0 - 3.3.5.1

我可以将版本解析为4个整数,然后进行比较,但我相信有一个更优雅的解决方案。

感谢

更新

我想如果假设版本范围只有一个次要版本位置,则可以进一步简化,例如3.0 - 3.4

使用version_compare:

$version = "3.4.0.1";
if (version_compare($version, "3.1.0", ">=") && version_compare($version, "3.3.5.1", "<=")) {
//Version in range
}