回答編集履歴

1

追記

2017/04/21 00:14

投稿

ttyp03
ttyp03

スコア16998

test CHANGED
@@ -7,3 +7,33 @@
7
7
  $str = sprintf("%05d", intval($str) + 1);
8
8
 
9
9
  ```
10
+
11
+
12
+
13
+ 元の文字列の長さに自動で合わせるなら、こうでしょうか。
14
+
15
+ ```PHP
16
+
17
+ $str = sprintf("%0".strlen($str)."d", intval($str) + 1);
18
+
19
+ ```
20
+
21
+ って書くとstrlenのところが明示的じゃなく、最初の回答と矛盾するのでつっこまれそう…。
22
+
23
+ ちゃんと書くと長くなりますな。
24
+
25
+ ```PHP
26
+
27
+ $str = sprintf("%0".strval(strlen($str))."d", intval($str) + 1);
28
+
29
+ ```
30
+
31
+ もしくはこうか。
32
+
33
+ ```PHP
34
+
35
+ $str = sprintf(sprintf("%%0%dd",strlen($str)), intval($str) + 1);
36
+
37
+
38
+
39
+ ```