Sta*_*zki 6 php arrays string explode
对于我当前的项目,我需要用户定义存储在数据库中的一系列数字.
以下字符串是可能的用户输入:
1025-1027,1030,1032-1034
Run Code Online (Sandbox Code Playgroud)
我想用php处理这个字符串以获得一系列可能的数字,包括添加一系列数字n-n²或添加单个数字的可能性n; n²,这个数字分别用于此示例:
1025 1026 1027 1030 1032 1031 1034
Run Code Online (Sandbox Code Playgroud)
用逗号分隔输入字符串,然后查看新数组的每个元素是什么.如果它具有范围分隔符(-),则将范围中的每个数字添加到数组中:
$input = '1025-1027,1030,1032-1034';
$inputArray = explode(',', $input);
$outputArray = array();
foreach($inputArray as $v) {
if(strpos($v, '-') === false) {
$outputArray[] = $v;
} else {
$minMax = explode('-',$v);
if($minMax[0]<=$minMax[1]) {
$outputArray = array_merge($outputArray, range($minMax[0], $minMax[1]));
}
}
}
print_r($outputArray);
Run Code Online (Sandbox Code Playgroud)
最后返回的值是
Array
(
[0] => 1025
[1] => 1026
[2] => 1027
[3] => 1030
[4] => 1032
[5] => 1033
[6] => 1034
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
911 次 |
| 最近记录: |