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

回答編集履歴

3

ミスってたw

2019/01/25 16:32

投稿

退会済みユーザー
answer CHANGED
@@ -2,31 +2,42 @@
2
2
  ```php
3
3
  <?php
4
4
  $numbers = [
5
+ 1234567890123456789,
6
+ 1000000000000000000,
5
- 123456789,
7
+ 1234567890,
6
- 23456789,
8
+ 234567890,
7
- 3456789,
9
+ 34567890,
8
- 456789,
10
+ 4567890,
9
- 56789,
11
+ 567890,
10
- 6789,
12
+ 67890,
11
- 789,
13
+ 7890,
12
- 89,
14
+ 890,
13
- 9,
15
+ 90,
16
+ 0,
14
17
  ];
15
18
 
16
19
  function hoge($number){
17
20
  echo '$number = ' . $number . PHP_EOL;
18
- $a = '';
19
- $b = '';
20
- $c = '';
21
21
  $str = 'a';
22
-
22
+ $last_str = '';
23
23
  do {
24
+ $last_str = $str;
24
- ${$str++} = (string)($number % 10000);
25
+ ${$str++} = sprintf("%'04d",($number % 10000));
25
26
  $number = (int)($number / 10000);
26
27
  } while($number >= 1);
27
-
28
+ $str = in_array($str, ['a', 'b', 'c'])? 'd' : $str;
28
- for($i = 'a'; $i != 'd';++$i){
29
+ for($i = 'a'; $i !== $str; ++$i){
29
- echo strtoupper( $i . ' => ') . ${$i} . PHP_EOL;
30
+ echo strtoupper( $i . ' => ');
31
+ if(isset(${$i})) {
32
+ if ($i !== $last_str) {
33
+ echo ${$i};
34
+ } else {
35
+ echo (int)${$i};
36
+ }
37
+ } else {
38
+ echo '\'\'';
39
+ }
40
+ echo PHP_EOL;
30
41
  }
31
42
  }
32
43
 

2

微修正

2019/01/25 16:32

投稿

退会済みユーザー
answer CHANGED
@@ -18,7 +18,6 @@
18
18
  $a = '';
19
19
  $b = '';
20
20
  $c = '';
21
- $number_arr = [];
22
21
  $str = 'a';
23
22
 
24
23
  do {

1

修正

2019/01/24 14:45

投稿

退会済みユーザー
answer CHANGED
@@ -22,11 +22,13 @@
22
22
  $str = 'a';
23
23
 
24
24
  do {
25
- ${$str} = (string)($number % 10000);
25
+ ${$str++} = (string)($number % 10000);
26
26
  $number = (int)($number / 10000);
27
- echo strtoupper( $str . ' => ') . ${$str} . PHP_EOL;
28
- $str++;
29
27
  } while($number >= 1);
28
+
29
+ for($i = 'a'; $i != 'd';++$i){
30
+ echo strtoupper( $i . ' => ') . ${$i} . PHP_EOL;
31
+ }
30
32
  }
31
33
 
32
34
  foreach($numbers as $number){