使用for循环的字母数字字符串增量

时间:2013-06-11 07:29:30

标签: php

我有两个变量一个是字符串包含数字而另一个是数字, 我想将字符串的数字部分增加到第二个数字。

$n ='sh500';
$c = 3; 
for($i=$n;$i<$c;$i++)
echo $i.'<br>';  

我希望输出如下:

sh500
sh501
sh502

7 个答案:

答案 0 :(得分:5)

使用$n++ $n = 'sh500'It works.

$n ='sh500';
$c = 3; 
for($i = 0;$i < $c;$i++) {
    echo $n++.'<br>';
}

将输出

sh500 <br>
sh501 <br>
sh502 <br>

它甚至在以字母数字字符结尾时起作用,因为php将其转换为字符的ASCII值并添加一个,因此a将变为b,依此类推。但这超出了问题的范围:)

答案 1 :(得分:2)

$x="sh500";
$x = substr($x,0,2) . (substr($x,2) + 1);

echo $x;

回显sh501(适用于任何具有第3个字符的数字的字符串)

答案 2 :(得分:1)

$n = 'sh';
for($i = 500; $i < 503; $i++) {
    echo "$n$i\n";
}

答案 3 :(得分:0)

$n="sh50";
for($i=0;$i<10;$i++){
$j=$n.$i;

echo $j."<br>";
}
它回应: SH500 sh501 sh502 sh503 sh504 sh505 sh506 sh507 sh508 sh509

答案 4 :(得分:0)

$n = 'sh500';
$c = 3;
$sh = substr($n,0,2); // will be "sh"
$number = substr($n,2,5) + 1; // will be "500"
for($i = $number; $i < 504; $i++) {
 echo $sh.$i."\n";
}

现场演示:Here

答案 5 :(得分:0)

$x = "sh500";
$s = substr($x, 0, 2);
$n = substr($x, 2);

$c = 3; 
for ($i = $n; $i < ($n + $c); $i++)
{
    echo $s.$i.'<br>';
}

另一种简单的方法是......

$n ='sh500';
$c = 3; 
for ($i = 0; $i < $c; $i++) {
    echo $n++."<br>";
}

<强>输出

sh500
sh501
sh502

答案 6 :(得分:0)

如果它总是一个长度为2的字符串,则使用preg_match查找第一个出现的数字。 http://www.php.net/manual/en/function.preg-match.php

$number = intval(substr($n, 2));
$number++;

echo substr($n, 0, 2) . $number;