在数字之间加 x
Add x in between the number
我有号码列表
1112
1113
1114
1115
1116-1117
1118-1119
1120
1121-1122
需要像下面这样显示这些数字
1x112
1x113
1x114
1x115
1x120
这些数字以 - 爆炸并显示为
1x116
1x117
1x118
1x119
1x121
1x122
将你的数字转换成字符串,然后你就可以操作它们了:
$a = 1112;
$a = (string) $a;
var_dump(substr($a, 0, 1) . 'x' . substr($a, 1)); /* "1x112" */
试试下面的代码。它对你有用。
<?php
$numStr = '1112 1113 1114 1115 1116-1117 1118-1119 1120 1121-1122';
$numStr = explode(' ',str_replace('-',' ',$numStr));
foreach($numStr as $key => $num) {
$numStr[$key] = substr($num, 0, 1) . 'x' . substr($num, 1);
}
echo $numStr = implode(' ',$numStr);
?>
输出
1x112 1x113 1x114 1x115 1x116 1x117 1x118 1x119 1x120 1x121 1x122
尝试像这样转换成数组。
<?php
$a = array();
$a[] = 1112;
$a[] = 1113;
$a[] = 1114;
$a[] = 1115;
$a[] = '1116-1117';
$a[] = '1118-1119';
$a[] = 1120;
$a[] = '1121-1122';
$output = array();
foreach($a as $key=>$value){
if (strpos($value, '-') !== false) {
$sub_a = explode('-',$value);
foreach($sub_a as $sub_key=>$sub_value){
$output[$key][$sub_key] = substr($sub_value, 0, 1).'x'.substr($sub_value, 1);
}
}else{
$output[$key] = substr($value, 0, 1).'x'.substr($value, 1);
}
}
print_r($output);
输出
Array
(
[0] => 1x112
[1] => 1x113
[2] => 1x114
[3] => 1x115
[4] => Array
(
[0] => 1x116
[1] => 1x117
)
[5] => Array
(
[0] => 1x118
[1] => 1x119
)
[6] => 1x120
[7] => Array
(
[0] => 1x121
[1] => 1x122
)
)
拆分任何非数字,然后替换部分字符串:
<?php
$list = '1112 1113 1114 1115 1116-1117 1118-1119 1120 1121-1122';
foreach(preg_split('/[^0-9]/', $list) as $number)
echo substr_replace($number, 'x', 1, 0), "\n";
输出:
1x112
1x113
1x114
1x115
1x116
1x117
1x118
1x119
1x120
1x121
1x122
我有号码列表
1112
1113
1114
1115
1116-1117
1118-1119
1120
1121-1122
需要像下面这样显示这些数字
1x112
1x113
1x114
1x115
1x120
这些数字以 - 爆炸并显示为
1x116
1x117
1x118
1x119
1x121
1x122
将你的数字转换成字符串,然后你就可以操作它们了:
$a = 1112;
$a = (string) $a;
var_dump(substr($a, 0, 1) . 'x' . substr($a, 1)); /* "1x112" */
试试下面的代码。它对你有用。
<?php
$numStr = '1112 1113 1114 1115 1116-1117 1118-1119 1120 1121-1122';
$numStr = explode(' ',str_replace('-',' ',$numStr));
foreach($numStr as $key => $num) {
$numStr[$key] = substr($num, 0, 1) . 'x' . substr($num, 1);
}
echo $numStr = implode(' ',$numStr);
?>
输出
1x112 1x113 1x114 1x115 1x116 1x117 1x118 1x119 1x120 1x121 1x122
尝试像这样转换成数组。
<?php
$a = array();
$a[] = 1112;
$a[] = 1113;
$a[] = 1114;
$a[] = 1115;
$a[] = '1116-1117';
$a[] = '1118-1119';
$a[] = 1120;
$a[] = '1121-1122';
$output = array();
foreach($a as $key=>$value){
if (strpos($value, '-') !== false) {
$sub_a = explode('-',$value);
foreach($sub_a as $sub_key=>$sub_value){
$output[$key][$sub_key] = substr($sub_value, 0, 1).'x'.substr($sub_value, 1);
}
}else{
$output[$key] = substr($value, 0, 1).'x'.substr($value, 1);
}
}
print_r($output);
输出
Array
(
[0] => 1x112
[1] => 1x113
[2] => 1x114
[3] => 1x115
[4] => Array
(
[0] => 1x116
[1] => 1x117
)
[5] => Array
(
[0] => 1x118
[1] => 1x119
)
[6] => 1x120
[7] => Array
(
[0] => 1x121
[1] => 1x122
)
)
拆分任何非数字,然后替换部分字符串:
<?php
$list = '1112 1113 1114 1115 1116-1117 1118-1119 1120 1121-1122';
foreach(preg_split('/[^0-9]/', $list) as $number)
echo substr_replace($number, 'x', 1, 0), "\n";
输出:
1x112
1x113
1x114
1x115
1x116
1x117
1x118
1x119
1x120
1x121
1x122