You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何使用range()生成含多段范围、额外值及剔除指定值的数组

多区间+额外值合并实现

你可以直接用array_merge()函数合并多个range()生成的区间数组,以及包成数组格式的单独数值即可,示例代码如下:

$i = array_merge(
    range(101, 167),
    range(201, 245),
    [255] // 单独数值要包裹为数组才能参与数组合并
);

这个方法支持任意数量的区间、任意数量的单独值追加,后续新增区间/固定值直接在array_merge的参数列表里追加对应内容即可。

指定区间剔除指定数值的实现

不需要拆分多个区间生成再合并,你可以先生成完整区间,再用array_diff()剔除不需要的数值即可,代码更简洁易维护:

// 生成全区间后剔除指定值
$arr = array_diff(range(301, 351), [329, 340]);

// 如果需要连续的索引键,可追加array_values重置键名
$arr = array_values(array_diff(range(301, 351), [329, 340]));

只有当需要剔除的数值非常多、或者区间跨度极大的场景,才推荐用拆分区间的方式优化性能,你当前的场景用过滤的方式更合适。

内容的提问来源于stack exchange,提问作者DenisZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:18:03