1

我在 Excel 工作表中有两列。一个是国家代码,另一个是城市代码。

数据是这样来的:

Country Code  City Code
10            01-03

我必须通过将国家代码和城市代码组合为:

Result
1001
1002
1003

即国家代码将与范围内的每个城市代码连接01-03

如果数据是这样给出的:

Country Code  City Code
10            1-3

我的结果应该是

Result
101
102
103

我正在使用 for 循环将国家代码与给定的城市代码范围连接起来。

但我101,102,103在这两种情况下都得到了结果。

任何人都可以提出更好的方法来解决这个问题吗?

我的代码是

$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_code_array用于获取城市代码,它可能像 1,2,3 或 1-20, 01-20。

4

2 回答 2

3

你可以试试这个:

$number=1;
$newNumber = sprintf('%02d', $number);

所以 $newNumber 的值是:01

于 2013-03-01T05:33:01.530 回答
1

试试这个 :

$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);
于 2013-03-01T05:20:15.207 回答