回答編集履歴

4

修正

2019/01/26 08:25

投稿

退会済みユーザー
test CHANGED
@@ -31,3 +31,53 @@
31
31
  var_dump($arr);
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ こういうことか
38
+
39
+
40
+
41
+ ```php
42
+
43
+ <?php
44
+
45
+
46
+
47
+ ini_set('display_errors', true);
48
+
49
+ error_reporting(E_ALL);
50
+
51
+
52
+
53
+ $number = 1234567890123;
54
+
55
+
56
+
57
+ $i = 0;
58
+
59
+ $arr = [];
60
+
61
+ while ($number > 0 && count($arr) < 3) {
62
+
63
+ $res = fmod($number, pow(10, 4));
64
+
65
+ if (count($arr) < 2) {
66
+
67
+ $arr[] = ($number > 10000) ? sprintf('%04d', $res) : sprintf('%01d', $res);
68
+
69
+ } else {
70
+
71
+ $arr[] = $number;
72
+
73
+ }
74
+
75
+ $number = ($number - $res) / pow(10, 4);
76
+
77
+ }
78
+
79
+ var_dump($arr);
80
+
81
+
82
+
83
+ ```

3

修正

2019/01/26 08:24

投稿

退会済みユーザー
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  $number = ($number - $res) / pow(10, 4);
26
26
 
27
- $arr[] = ($number > 1) ? sprintf('%04d', $res) : sprintf('%01d', $res);
27
+ $arr[] = ($number > 0) ? sprintf('%04d', $res) : sprintf('%01d', $res);
28
28
 
29
29
  }
30
30
 

2

修正

2019/01/26 08:13

投稿

退会済みユーザー
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  $number = ($number - $res) / pow(10, 4);
26
26
 
27
- $arr[] = sprintf('%04d', $res);
27
+ $arr[] = ($number > 1) ? sprintf('%04d', $res) : sprintf('%01d', $res);
28
28
 
29
29
  }
30
30
 

1

修正

2019/01/26 08:04

投稿

退会済みユーザー
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  $number = ($number - $res) / pow(10, 4);
26
26
 
27
- $arr[] = $res;
27
+ $arr[] = sprintf('%04d', $res);
28
28
 
29
29
  }
30
30