0

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

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

我想要像这样的输出:

sh500
sh501
sh502
4

7 回答 7

5

$n++在哪里使用$n = 'sh500'有用。

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

将输出

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

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

于 2013-06-11T07:38:07.040 回答
2
$x="sh500";
$x = substr($x,0,2) . (substr($x,2) + 1);

echo $x;

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

于 2013-06-11T07:32:12.257 回答
1
$n = 'sh';
for($i = 500; $i < 503; $i++) {
    echo "$n$i\n";
}
于 2013-06-11T07:32:14.053 回答
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

于 2013-06-11T07:35:59.097 回答
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";
}

现场演示:这里

于 2013-06-11T07:36:39.717 回答
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
于 2013-06-11T07:38:41.413 回答
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;
于 2013-06-11T07:39:22.677 回答