function match_desc($arr,$min,$max) {
// first filter an array to match $min and $max
$filtered = array_filter($arr, function($v) use ($min,$max) {
list($desc,$miny,$maxy) = $v;
return $min == $miny && $max == $maxy;
});
// return only descriptions
return array_map(function($v) { return $v[0]; },$filtered);
}
match_desc(array(
array("Any", 0, 255),
array("New", 0, 1),
array("5 - 10yrs", 5, 10),
array("10 - 20yrs", 10, 20)
), 0,1);
将返回array(0 => "New");
这个函数认为你可能有一个像
$years_array = array(
array("Desc1", 0, 255),
array("Desc2", 0, 255),
);
因此,return array(0 => "Desc1", 1 => "Desc2");
如果函数与传递的 min 和 max 不匹配,则将 0 和 255 作为 min 和 max 输入,它将返回一个空数组,并且可以很容易地用empty
.