回答編集履歴

3

加筆修正

2018/06/01 08:40

投稿

退会済みユーザー
test CHANGED
@@ -58,6 +58,8 @@
58
58
 
59
59
  ```
60
60
 
61
+ 《実行結果》
62
+
61
63
  ![実行結果](be7fd169a081c5ba974f687742e008ae.png)
62
64
 
63
65
 
@@ -158,6 +160,8 @@
158
160
 
159
161
  ```
160
162
 
163
+ 《実行結果》
164
+
161
165
  ![実行結果2](daaa13acfece501dac1c3f4ae04dfd2a.png)
162
166
 
163
167
 

2

typo修正

2018/06/01 08:40

投稿

退会済みユーザー
test CHANGED
@@ -64,9 +64,17 @@
64
64
 
65
65
  `$pdata`のキーはcodeしかないので、`count($pdata)`は1になります。
66
66
 
67
- `$pdata["code"]`のキーは定義した分あるので、`count($pdata["code"])はこの場合5になります。
67
+ `$pdata["code"]`のキーは定義した分あるので、`count($pdata["code"])`はこの場合5になります。
68
-
68
+
69
+
70
+
69
- for()ループよりもforeach()ループのほうが、カウンター変数を管理しなくて良くてラクです。
71
+ for()ループよりもforeach()ループのほうが、
72
+
73
+ カウンター変数を管理しなくて良く、
74
+
75
+ 配列を順になぞって処理を行うのにラクです。
76
+
77
+
70
78
 
71
79
  複数行出力するecho文は[ヒアドキュメント](http://php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc)構文を使ったほうが見やすいです。
72
80
 

1

加筆修正

2018/06/01 08:39

投稿

退会済みユーザー
test CHANGED
@@ -60,6 +60,8 @@
60
60
 
61
61
  ![実行結果](be7fd169a081c5ba974f687742e008ae.png)
62
62
 
63
+
64
+
63
65
  `$pdata`のキーはcodeしかないので、`count($pdata)`は1になります。
64
66
 
65
67
  `$pdata["code"]`のキーは定義した分あるので、`count($pdata["code"])はこの場合5になります。
@@ -149,3 +151,91 @@
149
151
  ```
150
152
 
151
153
  ![実行結果2](daaa13acfece501dac1c3f4ae04dfd2a.png)
154
+
155
+
156
+
157
+ また、phpからの離脱を組み合わせることも出来ます。
158
+
159
+
160
+
161
+ ```php
162
+
163
+ <?php
164
+
165
+
166
+
167
+ $pdata["code"]["A0001"][0] = "A0001";
168
+
169
+ $pdata["code"]["A0001"][1] = "白菜(1玉)";
170
+
171
+ $pdata["code"]["A0001"][2]= 298;
172
+
173
+ $pdata["code"]["K0001"][0] = "K0001";
174
+
175
+ $pdata["code"]["K0001"][1] = "いわし(5尾)";
176
+
177
+ $pdata["code"]["K0001"][2] = 258;
178
+
179
+ $pdata["code"]["A0002"][0] = "A0002";
180
+
181
+ $pdata["code"]["A0002"][1] = "九条葱(1パック)";
182
+
183
+ $pdata["code"]["A0002"][2] = 258;
184
+
185
+ $pdata["code"]["A0003"][0] = "A0003";
186
+
187
+ $pdata["code"]["A0003"][1] = "サツマイモ(1袋)";
188
+
189
+ $pdata["code"]["A0003"][2] = 180;
190
+
191
+ $pdata["code"]["K0002"][0] = "K0002";
192
+
193
+ $pdata["code"]["K0002"][1] = "きびなご(1皿)";
194
+
195
+ $pdata["code"]["K0002"][2] = 180;
196
+
197
+
198
+
199
+ ?>
200
+
201
+ <table>
202
+
203
+ <?php
204
+
205
+ foreach ($pdata["code"] as $arr) {
206
+
207
+ echo <<<EOT
208
+
209
+ <tr>
210
+
211
+ <td>${arr[0]}</td>
212
+
213
+ <td>${arr[1]}</td>
214
+
215
+ <td>${arr[2]}</td>
216
+
217
+ </tr>
218
+
219
+
220
+
221
+ EOT;
222
+
223
+ }
224
+
225
+ ?>
226
+
227
+ </table>
228
+
229
+ ```
230
+
231
+ 「</tr>」と「EOT;」との間に空の行があるのは、
232
+
233
+ それがないと改行コードがつかなくて、「</tr>」と次の「<tr>」が同じ行に出力されてしまうからです。
234
+
235
+
236
+
237
+ 加えて、単純に0,1,2の順に出力するだけであれば、
238
+
239
+ それこそfor()ループを使うこともできますが、
240
+
241
+ たかだか3件だしコードが増えて見た目のシンプルさが損なわれるから今回はなしで。