teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

修正

2019/01/26 08:25

投稿

退会済みユーザー
answer CHANGED
@@ -14,4 +14,29 @@
14
14
  $arr[] = ($number > 0) ? sprintf('%04d', $res) : sprintf('%01d', $res);
15
15
  }
16
16
  var_dump($arr);
17
+ ```
18
+
19
+ こういうことか
20
+
21
+ ```php
22
+ <?php
23
+
24
+ ini_set('display_errors', true);
25
+ error_reporting(E_ALL);
26
+
27
+ $number = 1234567890123;
28
+
29
+ $i = 0;
30
+ $arr = [];
31
+ while ($number > 0 && count($arr) < 3) {
32
+ $res = fmod($number, pow(10, 4));
33
+ if (count($arr) < 2) {
34
+ $arr[] = ($number > 10000) ? sprintf('%04d', $res) : sprintf('%01d', $res);
35
+ } else {
36
+ $arr[] = $number;
37
+ }
38
+ $number = ($number - $res) / pow(10, 4);
39
+ }
40
+ var_dump($arr);
41
+
17
42
  ```

3

修正

2019/01/26 08:24

投稿

退会済みユーザー
answer CHANGED
@@ -11,7 +11,7 @@
11
11
  while ($number > 0) {
12
12
  $res = fmod($number, pow(10, 4));
13
13
  $number = ($number - $res) / pow(10, 4);
14
- $arr[] = ($number > 1) ? sprintf('%04d', $res) : sprintf('%01d', $res);
14
+ $arr[] = ($number > 0) ? sprintf('%04d', $res) : sprintf('%01d', $res);
15
15
  }
16
16
  var_dump($arr);
17
17
  ```

2

修正

2019/01/26 08:13

投稿

退会済みユーザー
answer CHANGED
@@ -11,7 +11,7 @@
11
11
  while ($number > 0) {
12
12
  $res = fmod($number, pow(10, 4));
13
13
  $number = ($number - $res) / pow(10, 4);
14
- $arr[] = sprintf('%04d', $res);
14
+ $arr[] = ($number > 1) ? sprintf('%04d', $res) : sprintf('%01d', $res);
15
15
  }
16
16
  var_dump($arr);
17
17
  ```

1

修正

2019/01/26 08:04

投稿

退会済みユーザー
answer CHANGED
@@ -11,7 +11,7 @@
11
11
  while ($number > 0) {
12
12
  $res = fmod($number, pow(10, 4));
13
13
  $number = ($number - $res) / pow(10, 4);
14
- $arr[] = $res;
14
+ $arr[] = sprintf('%04d', $res);
15
15
  }
16
16
  var_dump($arr);
17
17
  ```