PHP代码从数组中获取特定部分

时间:2017-11-14 10:53:27

标签: php

我有一个像

这样的版本变量
$version = "3.4.5";

这样的verison数组
$verison= ["3.7.8", "3.5.2", "3.4.6", "3.3.2", "3.3.1", "3.2.1"];

我必须从$verison数组返回一个大于verison字符串"3.4.5";的数组 结果数组将是

$final=["3.7.8", "3.5.2", "3.4.6"]

如何使用PHP代码执行

2 个答案:

答案 0 :(得分:3)

您可以使用array_filter(),然后直接比较版本字符串。

注意:这可能仅适用于每个subversion数字只有一个char。如果大于9,您可以使用.拆分版本,可以单独比较每个颠覆编号。

Demo

array_filter($array, function($v) use ($version){return $v > $version;});

答案 1 :(得分:3)

使用array_filterversion_compare

$versions= ["3.7.8", "3.5.2", "3.4.6", "3.3.2", "3.3.1", "3.2.1"];
$version = "3.4.5";

$result = array_filter($versions, function($v) use ($version){return version_compare($v, $version, '>=');});

print_r($result);

输出:

Array
(
    [0] => 3.7.8
    [1] => 3.5.2
    [2] => 3.4.6
)

参考: http://php.net/array_filter http://php.net/version_compare