Php 对于增量为01,02,03的回路(如果为01-03)和增量为1,2,3的回路(如果为1-3)使用更好的方法
我在Excel表格中有两列。一个是国家代码,另一个是城市代码 数据如下:Php 对于增量为01,02,03的回路(如果为01-03)和增量为1,2,3的回路(如果为1-3)使用更好的方法,php,Php,我在Excel表格中有两列。一个是国家代码,另一个是城市代码 数据如下: Country Code City Code 10 01-03 Country Code City Code 10 1-3 我必须通过组合国家代码和城市代码将它们存储在数据库中,如下所示: Result 1001 1002 1003 也就是说,国家代码将和01-03范围内的每个城市代码连接 如果数据是这样给出的: Country Code City Code 10
Country Code City Code
10 01-03
Country Code City Code
10 1-3
我必须通过组合国家代码和城市代码将它们存储在数据库中,如下所示:
Result
1001
1002
1003
也就是说,国家代码将和01-03范围内的每个城市代码连接
如果数据是这样给出的:
Country Code City Code
10 01-03
Country Code City Code
10 1-3
我的结果应该是
Result
101
102
103
我使用for循环将国家代码与给定范围的城市代码连接起来
但我得到的结果都是101102103
有人能提出更好的方法来处理这个问题吗
我的代码是
$mystring = $area_code_array;
$findme = '-';
$pos = strpos($mystring, $findme);
if($pos === false)
{
$start_point = preg_replace("/[^0-9]+/", "",$area_code_array);
$end_point = preg_replace("/[^0-9]+/", "",$area_code_array);
}
else
{
$explode = explode('-',$area_code_array);
$start_point = preg_replace("/[^0-9]+/", "",$explode[0]);
$end_point = preg_replace("/[^0-9]+/", "",$explode[1]);
}
for($h=$start_point;$h<=$end_point;$h++)
{
}
上面是我使用的代码$area\u code\u数组用于获取城市代码,它可能类似于1,2,3或1-20,01-20。试试这个:
$country = 10;
$city = '01-05';
$ct = explode("-",$city);
$length = strlen($ct[0]);
$range = range($ct[0],$ct[1]);
$res = array();
foreach($range as $val){
$res[] = $country.str_pad($val, $length, "0", STR_PAD_LEFT);
}
echo "<pre>";
print_r($res);
试试这个:
$country = 10;
$city = '01-05';
$ct = explode("-",$city);
$length = strlen($ct[0]);
$range = range($ct[0],$ct[1]);
$res = array();
foreach($range as $val){
$res[] = $country.str_pad($val, $length, "0", STR_PAD_LEFT);
}
echo "<pre>";
print_r($res);
您可以尝试以下方法:
因此$newNumber的值是:01您可以尝试以下方法:
所以$newNumber的值是:01