如何在php中为现有值添加值

时间:2010-02-09 11:09:24

标签: php

将我的变量$result视为01212 ....现在,如果我将1添加到我的变量中,我会得到答案1213,但我希望它是01213 ....我的PHP代码是

echo sprintf('%02u', ($result+1));

修改

此问题的答案有效..但如果我的变量$result0121212会怎样? 将来...

5 个答案:

答案 0 :(得分:3)

您可以在%05u

上使用%02u
echo sprintf('%05u', ($result+1));

修改

概括它:

<?php

$result = "0121211";

$len = strlen($result+1) + 1;

printf("%0${len}d", ($result+1)); // print 0121212


?>

答案 1 :(得分:1)

你可以尝试:

str_pad($result, 5, "0", STR_PAD_LEFT);

答案 2 :(得分:1)

也许我在这里遗漏了一些东西,但它可能就像

一样简单
$result = '0'. ($result+1);

编辑:

$test = array('01212', '0121212', '012121212121212', '-01212');
foreach( $test as $result ) {
  $result = '0'.($result+1);
  echo $result, "\n";
}

打印

01213
0121213
012121212121213
0-1211

(你看,有限制;-))

答案 3 :(得分:0)

请在此处阅读:http://php.net/manual/en/function.sprintf.php

在sprintf中,你还必须指定你想要的长度 - 所以在你的情况下,如果你想要任何数字显示5chars长,你必须写

echo sprintf ('%05d', $d); // 5 places taking decimal

甚至更好

printf ('%05d', $d);

答案 4 :(得分:0)

好像你想在数字前面加一个'0',所以这里最简单:P

echo '0'. $result;

或者如果您坚持使用sprintf

$newresult = $result + 1;
echo sprintf('%0'.(strlen(strval($newresult))+1).'u', $newresult);