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をminとmaxとしてフィードするとreturn array(0 => "Desc1", 1 => "Desc2");
、関数が渡されたminとmaxと一致しない場合、空の配列が返され、。で簡単に確認できますempty
。