回答編集履歴
1
追記
answer
CHANGED
@@ -18,7 +18,11 @@
|
|
18
18
|
|
19
19
|
とかそういう感じで重複しない様にするか、関数等でスコープを区切る様にするのが安全です。
|
20
20
|
|
21
|
+
また、これは致命的では無く既存コードやプロジェクトとの兼ね合いもあるとは思いますが、
|
22
|
+
PHP5.4以降のコードを書く場合、配列の定義はarray()よりも[](短縮構文)の方がすっきりします。
|
23
|
+
(array()で書いていると、教科書が相当古いとか、元になっているコードが相当古いという印象を受けるので、特に理由が無ければ[]で記述されることをお勧めします。)
|
21
24
|
|
25
|
+
|
22
26
|
原因
|
23
27
|
---
|
24
28
|
|
@@ -162,24 +166,35 @@
|
|
162
166
|
|
163
167
|
解決方法としては、各データを`$arr['response']['station']`の要素として追加していきましょう。
|
164
168
|
|
165
|
-
|
169
|
+
初期データで同じように書いた場合はこんな感じ
|
170
|
+
|
166
171
|
```PHP
|
167
|
-
|
168
|
-
|
172
|
+
$db['db']['station'][] = [
|
169
|
-
|
173
|
+
'name' => '三ノ宮',
|
170
|
-
|
174
|
+
'prefecture' => '兵庫県',
|
171
|
-
|
175
|
+
'line' => 'JR神戸線',
|
172
|
-
|
176
|
+
'x' => 135.1952558,
|
173
|
-
|
177
|
+
'y' => 34.6945454,
|
174
|
-
|
178
|
+
'postal' => '6770039',
|
175
|
-
|
179
|
+
'distance' => '100m',
|
176
|
-
|
180
|
+
'prev' => '',
|
177
|
-
|
181
|
+
'next' => ''
|
178
|
-
|
182
|
+
];
|
183
|
+
$db['db']['station'][] = [
|
184
|
+
'name' => '神戸三宮',
|
185
|
+
'prefecture' => '兵庫県',
|
186
|
+
'line' => '阪神',
|
187
|
+
'x' => 135.1952558,
|
188
|
+
'y' => 34.6945454,
|
189
|
+
'postal' => '6770039',
|
190
|
+
'distance' => '100m',
|
191
|
+
'prev' => '',
|
192
|
+
'next' => ''
|
193
|
+
];
|
194
|
+
//以下駅の数だけ続く
|
179
195
|
```
|
180
196
|
|
181
|
-
|
182
|
-
全体はこんな感じ
|
197
|
+
$arrに適用する場合の全体はこんな感じ
|
183
198
|
*各ifは条件を満たすのがめんどくさかったので条件を変更しています。
|
184
199
|
|
185
200
|
|
@@ -274,4 +289,21 @@
|
|
274
289
|
}
|
275
290
|
|
276
291
|
print json_encode($arr, JSON_PRETTY_PRINT);
|
292
|
+
```
|
293
|
+
|
294
|
+
ポイントはこの辺
|
295
|
+
|
296
|
+
```PHP
|
297
|
+
|
298
|
+
$arr['response']['station'][] = array(
|
299
|
+
'name' => $name,
|
300
|
+
'prefecture' => $prefecture,
|
301
|
+
'line' => $line,
|
302
|
+
'x' => $longitude,
|
303
|
+
'y' => $latitude,
|
304
|
+
'postal' => $postal,
|
305
|
+
'distance' => $distance,
|
306
|
+
'prev' => $prev,
|
307
|
+
'next' => $next);
|
308
|
+
|
277
309
|
```
|