質問編集履歴

3

修正

2019/12/09 03:57

投稿

satoshi5555
satoshi5555

スコア18

test CHANGED
File without changes
test CHANGED
@@ -180,7 +180,7 @@
180
180
 
181
181
  ```
182
182
 
183
- の様に出力されるように、考えていたのですが詰っています。
183
+ の様に出力されるように、考えています。
184
184
 
185
185
 
186
186
 

2

修正、追加

2019/12/09 03:57

投稿

satoshi5555
satoshi5555

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,4 @@
1
- このような配列を
1
+ このような配列をstartからendまで回して
2
-
3
-
4
2
 
5
3
  ```
6
4
 
@@ -16,145 +14,185 @@
16
14
 
17
15
 
18
16
 
17
+ ↓の様に実行結果を表示させるという問題に詰まっています。
18
+
19
+ ```
20
+
21
+ 実行結果
22
+
23
+
24
+
19
25
  1780番 中村1781個
20
26
 
21
27
  1781番 中村1782個
22
28
 
23
- ・・・
24
-
25
- ↓(略)
29
+ ↓(略)
26
-
30
+
27
- ・・・
31
+ 1798番 中村1799個
28
-
32
+
29
- 1799番 中村1800個
33
+ 1799番 中村1800個
30
-
34
+
31
- 1800番 佐藤1個
35
+ 1800番 佐藤1個
32
-
36
+
33
- 1801番 佐藤2個
37
+ 1801番 佐藤2個
34
-
35
- ・・・
38
+
36
-
37
- ↓(略)
39
+ ↓(略)
38
-
40
+
39
- ・・・
41
+ 1828番 佐藤29個
40
-
42
+
41
- 1829番 佐藤30個
43
+ 1829番 佐藤30個
42
-
44
+
43
- 1830番 田中1個
45
+ 1830番 田中1個
44
-
46
+
45
- 1831番 田中2個
47
+ 1831番 田中2個
46
-
47
- ・・・
48
+
48
-
49
- ↓(略)
49
+ ↓(略)
50
-
50
+
51
- ・・・
51
+ 1848番 田中19個
52
-
52
+
53
- 1849番 田中20個
53
+ 1849番 田中20個
54
-
54
+
55
- 1850番 伊藤1個
55
+ 1850番 伊藤1個
56
+
56
-
57
+ 1851番 伊藤2個
57
-
58
-
58
+
59
- ・・・(
59
+ ()
60
+
60
-
61
+ 1998番 伊藤149個
62
+
61
-
63
+ 1999番 伊藤150個
64
+
62
-
65
+ 2000番 山田1個
66
+
67
+ 2001番 山田2個
68
+
69
+ ↓(略)
70
+
63
- 2019 山田10
71
+ 2017 山田18
72
+
64
-
73
+ 2018番 山田19個
74
+
65
-
75
+ ```
66
-
67
-
68
-
76
+
69
- の様出力をしく思いま
77
+ 最初書いコードが↓でが、
70
78
 
71
79
  ```PHP
72
80
 
73
81
  <?php
74
82
 
83
+ $gannen_nengou = array(
84
+
85
+ 0 => "中村"
86
+
75
- $a = array(0 => '中村' ,1800 => '佐藤', 1930 => '田中',2009=>'伊藤',2017=>'山田');
87
+ , 1800 => "佐藤"
88
+
76
-
89
+ , 1830 => "田中"
90
+
91
+ , 1850 => "伊藤"
92
+
93
+ , 2000 => "山田"
94
+
95
+ );
96
+
77
- $start = 1760;
97
+ $start = 1780;
78
98
 
79
99
  $end = 2019;
80
100
 
81
101
 
82
102
 
103
+ $nakamura = array();
104
+
105
+ $sato = array();
106
+
83
- foreach($a as $key=>$value){
107
+ $tanaka = array();
84
-
85
- next($a);
108
+
86
-
87
- $key1 = key($a);
109
+ $ito = array();
110
+
88
-
111
+ $yamada = array();
89
-
90
-
112
+
113
+
114
+
115
+
116
+
91
- for($i=$start; $i <= $end; $i++){
117
+ for($i=$start; $i <=$end; $i++){
92
-
93
-
94
-
118
+
95
- if($i==$key1){
119
+ if($i < 1800){
120
+
96
-
121
+ $nakamura[] = $i.'番   '.$gannen_nengou[0].($i + 1).'個</br>';
122
+
97
- break;
123
+ }else if(1800 <= $i && $i < 1830){
124
+
98
-
125
+ $sato[] = $i.'番   '.$gannen_nengou[1800].($i - 1799).'個</br>';
126
+
127
+ }else if(1830 <= $i && $i < 1850){
128
+
129
+ $tanaka[] = $i.'番   '.$gannen_nengou[1830].($i - 1829).'個</br>';
130
+
131
+ }else if(1850 <= $i && $i < 2000){
132
+
133
+ $ito[] = $i.'番   '.$gannen_nengou[1850].($i - 1849).'個</br>';
134
+
135
+ }else if(2000 <= $i && $i <= $end){
136
+
137
+ $yamada[] = $i.'番   '.$gannen_nengou[2000].($i - 1999).'個</br>';
138
+
99
- }
139
+ }
100
-
101
- var_dump($i.'番'.$value.'   '.$a[$key].'個</br>');
102
-
103
-
104
-
105
-
106
140
 
107
141
  }
108
142
 
143
+
144
+
145
+ $names = array($nakamura,$sato,$tanaka,$ito,$yamada);
146
+
109
- $start = $key1;
147
+ foreach ($names as $name) {
148
+
149
+ foreach ($name as $name_name) {
150
+
151
+ print $name_name.'</br>';
152
+
153
+ }
110
154
 
111
155
  }
112
156
 
113
-
114
-
115
157
  ?>
116
158
 
117
159
  ```
118
160
 
119
- しかし上手く出来ず、最初のキーが0な事が引っ掛かりそこを考えてコードを書くとその後がおかしくなったりと、頭の中で整理ができなくなっています。最初のキーと値は別として考えるのかな、とも思っているのですが・・・。
120
-
121
-
122
-
123
- しくキーと値を追加した時に、中のコードは書き換えずに出力して思っています。
161
+ この様な書き方だと配列にたなキーと値(キー:2010,値:石川)を追加した時に、for文の書き換えなければけなく効率が悪い為、新なキー値を入れるだけで
124
-
125
-
126
-
127
-
162
+
128
-
129
- ```
163
+ ```
130
-
131
- $a = array(0 => '中村' ,1800 => '佐藤', 1830 => '田中',1850=>'伊藤',2000=>'山田',2010 =>石川);
164
+
132
-
133
- $start = 1780;
134
-
135
- $end = 2019;
136
-
137
- ```
138
-
139
- 1850番 伊藤1個
165
+ 2000 山田1個
166
+
140
-
167
+ 2001番 山田2個
141
-
142
-
168
+
143
- ・・・(
169
+ ()
144
-
145
-
146
170
 
147
171
  2009番 山田10個
148
172
 
149
173
  2010番 石川1個
150
174
 
151
- ・・・
175
+ 2011番 石川2個
152
-
176
+
153
- ↓(略)
177
+ ↓(略)
154
-
155
- ・・・
178
+
156
-
157
- 2019番 石川20個
179
+ ※修正 2019番 石川10個
180
+
181
+ ```
182
+
183
+ の様に出力されるように、考えていたのですが詰まっています。
184
+
185
+
186
+
187
+
188
+
189
+ ~~しかし上手く出来ず、最初のキーが0な事が引っ掛かりそこを考えてコードを書くとその後がおかしくなったりと、頭の中で整理ができなくなっています。最初のキーと値は別として考えるのかな、とも思っているのですが・・・。
190
+
191
+ ~~
192
+
193
+
194
+
195
+
158
196
 
159
197
 
160
198
 

1

2019/12/09 03:56

投稿

satoshi5555
satoshi5555

スコア18

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- 2019番 山田20個
63
+ 2019番 山田10個
64
64
 
65
65
 
66
66