4 回答
TA贡献1883条经验 获得超3个赞
尝试像这样转换为数组。
<?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
)
)
TA贡献1826条经验 获得超6个赞
将您的数字转换为字符串,然后您可以操纵它们:
$a = 1112;
$a = (string) $a;
var_dump(substr($a, 0, 1) . 'x' . substr($a, 1)); /* "1x112" */
TA贡献1812条经验 获得超5个赞
试试下面的代码。它为你工作。
<?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
TA贡献1765条经验 获得超5个赞
拆分任何非数字,然后替换部分字符串:
<?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
- 4 回答
- 0 关注
- 142 浏览
添加回答
举报