回答編集履歴
3
加筆修正
answer
CHANGED
@@ -28,6 +28,7 @@
|
|
28
28
|
echo $arr[2] . PHP_EOL;
|
29
29
|
}
|
30
30
|
```
|
31
|
+
《実行結果》
|
31
32
|

|
32
33
|
|
33
34
|
`$pdata`のキーはcodeしかないので、`count($pdata)`は1になります。
|
@@ -78,6 +79,7 @@
|
|
78
79
|
|
79
80
|
EOT;
|
80
81
|
```
|
82
|
+
《実行結果》
|
81
83
|

|
82
84
|
|
83
85
|
また、phpからの離脱を組み合わせることも出来ます。
|
2
typo修正
answer
CHANGED
@@ -31,8 +31,12 @@
|
|
31
31
|

|
32
32
|
|
33
33
|
`$pdata`のキーはcodeしかないので、`count($pdata)`は1になります。
|
34
|
-
`$pdata["code"]`のキーは定義した分あるので、`count($pdata["code"])はこの場合5になります。
|
34
|
+
`$pdata["code"]`のキーは定義した分あるので、`count($pdata["code"])`はこの場合5になります。
|
35
|
+
|
35
|
-
for()ループよりもforeach()ループのほうが、
|
36
|
+
for()ループよりもforeach()ループのほうが、
|
37
|
+
カウンター変数を管理しなくて良く、
|
38
|
+
配列を順になぞって処理を行うのにラクです。
|
39
|
+
|
36
40
|
複数行出力するecho文は[ヒアドキュメント](http://php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc)構文を使ったほうが見やすいです。
|
37
41
|
以上を踏まえて、
|
38
42
|
|
1
加筆修正
answer
CHANGED
@@ -29,6 +29,7 @@
|
|
29
29
|
}
|
30
30
|
```
|
31
31
|

|
32
|
+
|
32
33
|
`$pdata`のキーはcodeしかないので、`count($pdata)`は1になります。
|
33
34
|
`$pdata["code"]`のキーは定義した分あるので、`count($pdata["code"])はこの場合5になります。
|
34
35
|
for()ループよりもforeach()ループのほうが、カウンター変数を管理しなくて良くてラクです。
|
@@ -73,4 +74,48 @@
|
|
73
74
|
|
74
75
|
EOT;
|
75
76
|
```
|
76
|
-

|
77
|
+

|
78
|
+
|
79
|
+
また、phpからの離脱を組み合わせることも出来ます。
|
80
|
+
|
81
|
+
```php
|
82
|
+
<?php
|
83
|
+
|
84
|
+
$pdata["code"]["A0001"][0] = "A0001";
|
85
|
+
$pdata["code"]["A0001"][1] = "白菜(1玉)";
|
86
|
+
$pdata["code"]["A0001"][2]= 298;
|
87
|
+
$pdata["code"]["K0001"][0] = "K0001";
|
88
|
+
$pdata["code"]["K0001"][1] = "いわし(5尾)";
|
89
|
+
$pdata["code"]["K0001"][2] = 258;
|
90
|
+
$pdata["code"]["A0002"][0] = "A0002";
|
91
|
+
$pdata["code"]["A0002"][1] = "九条葱(1パック)";
|
92
|
+
$pdata["code"]["A0002"][2] = 258;
|
93
|
+
$pdata["code"]["A0003"][0] = "A0003";
|
94
|
+
$pdata["code"]["A0003"][1] = "サツマイモ(1袋)";
|
95
|
+
$pdata["code"]["A0003"][2] = 180;
|
96
|
+
$pdata["code"]["K0002"][0] = "K0002";
|
97
|
+
$pdata["code"]["K0002"][1] = "きびなご(1皿)";
|
98
|
+
$pdata["code"]["K0002"][2] = 180;
|
99
|
+
|
100
|
+
?>
|
101
|
+
<table>
|
102
|
+
<?php
|
103
|
+
foreach ($pdata["code"] as $arr) {
|
104
|
+
echo <<<EOT
|
105
|
+
<tr>
|
106
|
+
<td>${arr[0]}</td>
|
107
|
+
<td>${arr[1]}</td>
|
108
|
+
<td>${arr[2]}</td>
|
109
|
+
</tr>
|
110
|
+
|
111
|
+
EOT;
|
112
|
+
}
|
113
|
+
?>
|
114
|
+
</table>
|
115
|
+
```
|
116
|
+
「</tr>」と「EOT;」との間に空の行があるのは、
|
117
|
+
それがないと改行コードがつかなくて、「</tr>」と次の「<tr>」が同じ行に出力されてしまうからです。
|
118
|
+
|
119
|
+
加えて、単純に0,1,2の順に出力するだけであれば、
|
120
|
+
それこそfor()ループを使うこともできますが、
|
121
|
+
たかだか3件だしコードが増えて見た目のシンプルさが損なわれるから今回はなしで。
|