php数字数组选择大于一个数字、小于另一个数字的值,并将其保存到新数组中

php数字数组选择大于一个数字、小于另一个数字的值,并将其保存到新数组中,php,arrays,Php,Arrays,我有一个数组(动态创建)包含以下数字 $numbers = array (200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 12000, 14000, 15000, 16000, 18000, 20000, 21000, 24000, 25000, 27000, 30000, 35000, 40000, 45000, 50000, 600

我有一个数组(动态创建)包含以下数字

$numbers = array (200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 12000, 14000, 15000, 16000, 18000, 20000, 21000, 24000, 25000, 27000, 30000, 35000, 40000, 45000, 50000, 60000, 70000, 75000, 80000, 90000, 100000, 105000, 120000, 135000, 140000, 150000, 160000, 180000, 200000, 250000, 300000, 350000, 400000, 450000, 500000, 600000, 700000, 800000, 900000, 1000000)
我想创建一个新的数组(按>=和=)过滤,小于800,小于等于(
$min=800;
$max=1200;
$newNumbers=array\u过滤器(
$numbers,
函数($value)使用($min,$max){
return($value>=$min&&$value您正在寻找的

一个很好的使用示例是:

array_filter($numbers, function($n){ 
    return $n >= 800 && $n <= 1600;
});
array_filter($numbers,function($n){

return$n>=800&&$n array\u filter()带有回调函数^
array\u filter($numbers,function($n){return$n>=800&&$n是的!我不知道如何将两个变量传递给array\u filter。谢谢你们!我以前从来都不知道
use()
!非常感谢!@CJDennis-显著的区别在于“使用”变量值(
$min
$max
)在定义匿名/lambda函数时是固定的(因此必须存在),而正常参数(在本例中为
$value
)调用函数时传递。在这种情况下没有多大区别,但在其他情况下可能会有其他区别。另一个区别是数组_filter()的回调只接受特定的参数或参数集(在最新版本的PHP中,您也可以传递键),因此,在这种情况下,您需要使用
use
向函数传递额外的参数我一直在想如何向lambda函数传递额外的变量,现在我知道了!
$min = 800;
$max = 1200;
$newNumbers = array_filter(
    $numbers,
    function ($value) use($min,$max) {
        return ($value >= $min && $value <= $max);
    }
);
array_filter($numbers, function($n){ 
    return $n >= 800 && $n <= 1600;
});