0

$value1= 000001;ご覧のとおり、0で始まる数値が含まれているこの変数があります。

私がしようとしているのは、変数に「1」を追加して、エコーしたときに次のようになるようにすること000002です。繰り返しますが、たとえば、変数がこのような場合、$value1= 012001;私はそれをのように見せたいと思います012002

次のように試しましたが、生成される結果は「2」のみです。

$value1= 000001;  
echo $value+1;

これを実現する方法を教えてください。

ありがとう :)

4

4 に答える 4

2

これを行うための多くの方法があります。これは別の方法です。

$value1 = '000101';

$strLen = strlen($value1);
$value  = (((int) $value1) + 1);
echo str_pad($value, $strLen, '0', STR_PAD_LEFT);

php test.php 000102

于 2012-08-23T01:46:11.510 に答える
1

printfを使用する

<?php 
$value1 = 2;
printf("%06d", 2);

訂正:number_formatはここでは役に立たないので、削除しました。

補遺:8進数で作業する場合を除いて、PHPは0で始まる数値を8進数として解釈するため、0で数値リテラルを開始しないでください。

于 2012-08-23T01:35:16.483 に答える
1

私はstr_pad、より速く、そしてより重要なことに、より読みやすいので、printfnumber_formatここでは関係ありません)を使用します。echo str_pad($value+1, 6, '0', STR_PAD_LEFT);

于 2012-08-23T01:36:16.240 に答える
0
$value1= 000001;
printf( "%06d", $value + 1 );
于 2012-08-23T01:38:32.923 に答える