得到不.PHP中某些值之间的数组元素?

use*_*659 0 php arrays

如何在PHP中找到2个值之间的数组中存在的数组元素的数量.

让我说这是我的数组=>

$a = array(1,2,3,5,10);
Run Code Online (Sandbox Code Playgroud)

我想找到2个值之间的数组长度,即2和10.所以在这种情况下答案将是3.如果要搜索的最高值出现在数组中,则应将其添加到count中.

2到9之间的数组长度也是2.

希望我对我的问题很清楚.任何帮助,将不胜感激.

SDC*_*SDC 5

用于array_filter()将数组过滤到匹配元素,然后count()在生成的过滤数组上使用.

$a = array(1,2,3,5,10);
print count(array_filter($a, function($e) {return ($e>=2 && $e<=10);}));
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.

注意:我在这里使用的语法,嵌入式函数,需要PHP v5.3或更高版本.

[编辑]

把它变成一个简单的可调用函数:

$a = array(1,2,3,5,10);
print countInRange(2,10);

function countInRange($min,$max) {
    return count(array_filter($a, function($e) use($min,$max) {return ($e>=$min && $e<=$max);}));
}
Run Code Online (Sandbox Code Playgroud)

有关array_filter()函数的更多信息,请参阅PHP手册.