因为Bitbucket API没有提供获取存储库最新标记的方法,所以我发现自己必须从所有标记的数组中获取它。
你是怎么做到的?
我试过max但对某些数字不起作用,例如。
max(['1.0.8', '1.0.9', '1.0.10']);
返回“1.0.9”。
我知道标签只有三个数字
a.b.c
他们不会有其他Semver接受的字符串,如alpha等,因为我们为我们的回购做标签的方式。那你怎么做呢?
最佳答案
$versions = ['1.0.8', '1.0.9', '1.0.10'];
usort($versions, 'version_compare');
echo end($versions);
参阅http://php.net/version_compare
如果不想修改数组:
echo array_reduce($versions, function ($highest, $current) {
return version_compare($highest, $current, '>') ? $highest : $current;
});