回答編集履歴

3

ミスってたw

2019/01/25 16:32

投稿

退会済みユーザー
test CHANGED
@@ -6,23 +6,29 @@
6
6
 
7
7
  $numbers = [
8
8
 
9
- 123456789,
9
+ 1234567890123456789,
10
10
 
11
- 23456789,
11
+ 1000000000000000000,
12
12
 
13
- 3456789,
13
+ 1234567890,
14
14
 
15
- 456789,
15
+ 234567890,
16
16
 
17
- 56789,
17
+ 34567890,
18
18
 
19
- 6789,
19
+ 4567890,
20
20
 
21
- 789,
21
+ 567890,
22
22
 
23
- 89,
23
+ 67890,
24
24
 
25
+ 7890,
26
+
27
+ 890,
28
+
25
- 9,
29
+ 90,
30
+
31
+ 0,
26
32
 
27
33
  ];
28
34
 
@@ -32,29 +38,45 @@
32
38
 
33
39
  echo '$number = ' . $number . PHP_EOL;
34
40
 
35
- $a = '';
36
-
37
- $b = '';
38
-
39
- $c = '';
40
-
41
41
  $str = 'a';
42
42
 
43
-
43
+ $last_str = '';
44
44
 
45
45
  do {
46
46
 
47
+ $last_str = $str;
48
+
47
- ${$str++} = (string)($number % 10000);
49
+ ${$str++} = sprintf("%'04d",($number % 10000));
48
50
 
49
51
  $number = (int)($number / 10000);
50
52
 
51
53
  } while($number >= 1);
52
54
 
53
-
55
+ $str = in_array($str, ['a', 'b', 'c'])? 'd' : $str;
54
56
 
55
- for($i = 'a'; $i != 'd';++$i){
57
+ for($i = 'a'; $i !== $str; ++$i){
56
58
 
57
- echo strtoupper( $i . ' => ') . ${$i} . PHP_EOL;
59
+ echo strtoupper( $i . ' => ');
60
+
61
+ if(isset(${$i})) {
62
+
63
+ if ($i !== $last_str) {
64
+
65
+ echo ${$i};
66
+
67
+ } else {
68
+
69
+ echo (int)${$i};
70
+
71
+ }
72
+
73
+ } else {
74
+
75
+ echo '\'\'';
76
+
77
+ }
78
+
79
+ echo PHP_EOL;
58
80
 
59
81
  }
60
82
 

2

微修正

2019/01/25 16:32

投稿

退会済みユーザー
test CHANGED
@@ -38,8 +38,6 @@
38
38
 
39
39
  $c = '';
40
40
 
41
- $number_arr = [];
42
-
43
41
  $str = 'a';
44
42
 
45
43
 

1

修正

2019/01/24 14:45

投稿

退会済みユーザー
test CHANGED
@@ -46,15 +46,19 @@
46
46
 
47
47
  do {
48
48
 
49
- ${$str} = (string)($number % 10000);
49
+ ${$str++} = (string)($number % 10000);
50
50
 
51
51
  $number = (int)($number / 10000);
52
52
 
53
- echo strtoupper( $str . ' => ') . ${$str} . PHP_EOL;
53
+ } while($number >= 1);
54
54
 
55
- $str++;
55
+
56
56
 
57
+ for($i = 'a'; $i != 'd';++$i){
58
+
57
- } while($number >= 1);
59
+ echo strtoupper( $i . ' => ') . ${$i} . PHP_EOL;
60
+
61
+ }
58
62
 
59
63
  }
60
64