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),
);
這麼一個數組,餵養0和255爲最低和最高將return array(0 => "Desc1", 1 => "Desc2");
如果功能不匹配反對通過最小值和最大值,它將返回一個空數組,並且很容易用empty
進行檢查。
你的問題很含糊......你是什麼意思?你怎麼能得到「10 - 20年」? – 2012-08-17 06:25:26
@MihaiIorga,是的,''10 - 20yrs''假設我有10個'$ min'和20個'$ max'。 – 2012-08-17 06:27:46