相关疑难解决方法(0)

PHP:将数组插入另一个数组

我正在尝试规范化一串以逗号分隔的数字和一个范围.展示:

数组:

$array = ["1","2","5-10","15-20"];
Run Code Online (Sandbox Code Playgroud)

应成为:

$array = [1,2,5,6,7,8,9,10,15,16,17,18,19,20];
Run Code Online (Sandbox Code Playgroud)

我正在研究的算法是:

//get the array values with a range in it :
$rangeArray = preg_grep('[-]',$array);
Run Code Online (Sandbox Code Playgroud)

这将包含["5-10", "16-20"];Then:

foreach($rangeArray as $index=>$value){
    $rangeVal = explode('-',$value);
    $convertedArray = range($rangeVal[0],$rangeVal[1]);
}
Run Code Online (Sandbox Code Playgroud)

转换后的数组现在包含["5","6","7","8","9","10"] ;

我现在面临的问题是,如何在原始数组中弹出值"5-10",并在$ convertedArray中插入值,以便我将获得值:

$ array = ["1","2","5","6","7","8","9","10","16-20"];

那么,如何将数组插入数组?或者有更清洁的方法来解决这类问题吗?将数字和范围值的数组转换为正确排序的数字数组?

php arrays insert arraylist array-merge

13
推荐指数
2
解决办法
1万
查看次数

将范围为"3-6"或"3-6,12"的范围或部分数组转换为整数数组,如3,4,5,6,12

我对这个感到有些困惑,我现在很难在网上找到类似的例子.

在PHP中工作,我希望从形式字段中获取输入,可以是表单中的"值列表","范围"或两者的组合;

3,5,6,9,11,23
Run Code Online (Sandbox Code Playgroud)

要么

3-20
Run Code Online (Sandbox Code Playgroud)

要么

3-6,8,12,14-50
Run Code Online (Sandbox Code Playgroud)

我想将这些作为整数数组返回,例如

3,4,5,6,8,12,14,15,16...
Run Code Online (Sandbox Code Playgroud)

我不打算把它们全部输出,但这个想法很明显!

是否有可用的功能,或者我从哪里开始写一个?

php arrays

7
推荐指数
1
解决办法
2103
查看次数

标签 统计

arrays ×2

php ×2

array-merge ×1

arraylist ×1

insert ×1