我很抱歉提出简单的问题。
function generateArray( $start, $end)
{
//do task
return $arr
}
example
$start= '47_000008';
$end= '47_000011'
$arr= generateArray( $start, $end);
这里的数组元素应该是
arr[0]=47_000008'
arr[1]=47_000009'
arr[2]=47_000010'
arr[3]=47_000011'
我需要帮助来编写函数
这里,开始和结束值可以在47_000001到47_999999之间
由于
答案 0 :(得分:2)
假设您的字符串格式为XX_XXXXX。首先将字符串拆分为数组,如
$startList = explode("_",$start);
$endList = explode("_",$end);
现在运行for循环以递增start数组的最后一个值并将其推送到结果数组,如
$totalindex = $endList[1]-$startList[1];
$startvalue=$startList[1];
for($i=0;$i<$totalindex;$i++){
$startvalue=$startvalue+$i;
$newArray[$i]=$startList[0]."_".$startvalue;
}
考虑错误验证。
答案 1 :(得分:1)
这里是我的前导null版本
function generateArray( $start, $end)
{
$startArray=explode("_",$start);
$endArray=explode("_",$end);
$arr=array();
if(count($startArray)==2)
{
$laenge=strlen($startArray[1]);
$startInt=(int)$startArray[1];
$endInt=(int)$endArray[1];
for($i=$startInt;$i<=$endInt;$i++)
{
$arrString=""+$i;
while(strlen($arrString)!=$laenge)
$arrString="0".$arrString;
$arr[]=$startArray[0]."_".$arrString;
}
}
return $arr;
}