Php 填写一系列以破折号或逗号分隔的数字
我需要在使用破折号或逗号的地方填充一系列数字。 我使用的代码运行良好,但当数字以零开头时,它不起作用(前导零下降)Php 填写一系列以破折号或逗号分隔的数字,php,Php,我需要在使用破折号或逗号的地方填充一系列数字。 我使用的代码运行良好,但当数字以零开头时,它不起作用(前导零下降) $str=str_替换('','11-17,19041244-041250); $arr=爆炸(“,”,$str); foreach($arr作为$elem){ $values=分解('-',$elem); 如果(计数($values)!=1){ 对于($i=$values[0];$i此行: for($i=$values[0];$i<=$values[1];$i++) $
$str=str_替换('','11-17,19041244-041250);
$arr=爆炸(“,”,$str);
foreach($arr作为$elem){
$values=分解('-',$elem);
如果(计数($values)!=1){
对于($i=$values[0];$i此行:
for($i=$values[0];$i<=$values[1];$i++) $newArr[]=$i;
只需确保在使用该方法之前启动$newArr=[];
查看:试试这个。从这里开始:
谢谢。只需在开头和结尾加上数字+1时做一些小改动。
for($i=$values[0];$i<=$values[1];$i++) $newArr[]=$i;
for($i=(int)$values[0];$i<=(int)$values[1];$i++) $newArr[]=$i;
$newArr = array_merge($newArr, range((int)$values[0],(int)$values[1]));
<?php
$str = str_replace(' ', '', '11-17,19,041244-041250');
$arr = explode(',', $str);
foreach ($arr as $elem) {
$values = explode('-',$elem);
if (count($values) != 1) {
for($i = $values[0]; $i <= $values[1]; $i++) {
//$newArr[]=$values[0]++;
$newArr[] = str_pad($i + 1, strlen($values[0]), 0, STR_PAD_LEFT);
}
} else {
$newArr[] = $elem;
}
print_r($newArr);
}
<?php
$str = str_replace(' ', '', '11-17,19,041244-041250');
$arr = explode(',', $str);
foreach ($arr as $elem) {
$values = explode('-',$elem);
if (count($values) != 1) {
$newArr[] = $values[0];
for($i = $values[0]; $i < $values[1]; $i++) {
$newArr[] = str_pad($i + 1, strlen($values[0]), 0, STR_PAD_LEFT);
}
}else{
$newArr[] = $elem;
}
}
print_r($newArr);
}