Php 如何删除小于X的数组中的整数?

Php 如何删除小于X的数组中的整数?,php,arrays,integer,filtering,Php,Arrays,Integer,Filtering,我有一个值为0到100的整数数组。我希望删除小于数字X的整数,并保留等于或大于数字X的整数。使用笨重的create_函数有点难看,但直接来说: $filtered = array_filter($array, create_function('$x', 'return $x >= $y;')); 对于PHP>=5.3: $filtered = array_filter($array, function ($x) { return $x >= $y; }); 将$y设置为您想要的任

我有一个值为0到100的整数数组。我希望删除小于数字X的整数,并保留等于或大于数字X的整数。

使用笨重的
create_函数有点难看,但直接来说:

$filtered = array_filter($array, create_function('$x', 'return $x >= $y;'));
对于PHP>=5.3:

$filtered = array_filter($array, function ($x) { return $x >= $y; });

$y
设置为您想要的任何值。

比生成一个太大的数组然后将其缩小到合适的大小更聪明,我建议从一开始就只生成您想要的

range()
将为您完成这项工作,而无需匿名函数调用迭代条件

代码:()

潜在产出:

98
array (
  0 => 98,
  1 => 99,
  2 => 100,
)
95
array (
  0 => 95,
  1 => 96,
  2 => 97,
  3 => 98,
  4 => 99,
  5 => 100,
)
array (
  95 => 95,
  96 => 96,
  97 => 97,
  98 => 98,
  99 => 99,
  100 => 100,
)

或者,如果您确实想修改已经生成的输入数组,那么假设您有一个索引数组,您可以使用
array\u slice()
来删除元素,使用
X
以起始偏移量为目标,并选择性地保留索引/键

代码:()

潜在产出:

98
array (
  0 => 98,
  1 => 99,
  2 => 100,
)
95
array (
  0 => 95,
  1 => 96,
  2 => 97,
  3 => 98,
  4 => 99,
  5 => 100,
)
array (
  95 => 95,
  96 => 96,
  97 => 97,
  98 => 98,
  99 => 99,
  100 => 100,
)