質問編集履歴

4

状況説明

2021/11/14 21:11

投稿

TrueRyoB
TrueRyoB

スコア79

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  返す際、渡すデータが30以上あるので、phpで一旦**配列**に入れてから**json**処理してます。
18
18
 
19
- そして、jsで解凍、、と言う風にしたかったのですが、jsで受け取った値で例えばresponse[2]とか指定すると、[12,13,14]と言う配列があったとして2を取ってきます。本当に欲しい値は14です。この現象どうすれば解決できるのでしょうか?よろしくお願いします。とりあえずコードを書時間がかかるの質問だけ先に出します。
19
+ そして、jsで解凍、、と言う風にしたかったのですが、jsで受け取った値で例えばresponse[2]とか指定すると、[12,13,14]と言う配列があったとして2を取ってきます。本当に欲しい値は14です。この現象どうすれば解決できるのでしょうか?よろしくお願いします。おそらですが、jsついた頃には配列はなく字列とて認識されているかもしれせん...
20
20
 
21
21
 
22
22
 

3

コードを追加

2021/11/14 21:11

投稿

TrueRyoB
TrueRyoB

スコア79

test CHANGED
File without changes
test CHANGED
@@ -17,3 +17,363 @@
17
17
  返す際、渡すデータが30以上あるので、phpで一旦**配列**に入れてから**json**処理してます。
18
18
 
19
19
  そして、jsで解凍、、と言う風にしたかったのですが、jsで受け取った値で例えばresponse[2]とか指定すると、[12,13,14]と言う配列があったとして2を取ってきます。本当に欲しい値は14です。この現象どうすれば解決できるのでしょうか?よろしくお願いします。とりあえずコードを書くのに時間がかかるので質問文だけ先に出します。
20
+
21
+
22
+
23
+ ### コード
24
+
25
+
26
+
27
+ (demo.js)
28
+
29
+ ```javascript
30
+
31
+ const atkId = '322';
32
+
33
+ const difId = '350';
34
+
35
+
36
+
37
+ $.ajax({
38
+
39
+ type:'post',
40
+
41
+ url:'http://localhost:8888/demo.php',
42
+
43
+ data:{'func':'get_context',atkId:atkId,'difId':difId},
44
+
45
+ datatype : "json",
46
+
47
+ })
48
+
49
+ .done(function(response) { //正常に処理が完了した時
50
+
51
+ //成功した時に、計算用関数(下にあるやつ)を実行するようにします!
52
+
53
+ element.innerHTML = "<p>"+response[2]+"</p>";
54
+
55
+
56
+
57
+
58
+
59
+ })
60
+
61
+ .fail(function(xhr) {
62
+
63
+ alert("失敗!");
64
+
65
+
66
+
67
+ })
68
+
69
+ .always(function(xhr, msg) {
70
+
71
+
72
+
73
+ });
74
+
75
+ ```
76
+
77
+
78
+
79
+ (demo.php)
80
+
81
+ ```php
82
+
83
+ <?php
84
+
85
+
86
+
87
+ function get_context($atk_name,$dif_name){
88
+
89
+ try {
90
+
91
+
92
+
93
+ /* リクエストから得たスーパーグローバル変数をチェックするなどの処理 */
94
+
95
+
96
+
97
+ // データベースに接続
98
+
99
+ $pdo = new PDO(
100
+
101
+ 'mysql:dbname=----;host=------;charset=utf8mb4',
102
+
103
+ '------',
104
+
105
+ '------',
106
+
107
+ [
108
+
109
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
110
+
111
+ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
112
+
113
+ ]
114
+
115
+ );
116
+
117
+
118
+
119
+ $stmt =$pdo->prepare('SELECT * FROM yokai_data WHERE id = :id');
120
+
121
+ $stmt->bindValue(':id', $atk_name);
122
+
123
+ $stmt->execute();
124
+
125
+ foreach($stmt as $row)
126
+
127
+ {
128
+
129
+ $atkStatus_a_h = (int)$row['status_a_h'];//dif
130
+
131
+ $atkStatus_a_a = (int)$row['status_a_a'];
132
+
133
+ $atkStatus_a_m = (int)$row['status_a_m'];
134
+
135
+ $atkStatus_a_d = (int)$row['status_a_d'];
136
+
137
+ $atkStatus_a_s = (int)$row['status_a_s'];
138
+
139
+ $atkStatus_b_h = (int)$row['status_b_h'];
140
+
141
+ $atkStatus_b_a = (int)$row['status_b_a'];
142
+
143
+ $atkStatus_b_m = (int)$row['status_b_m'];
144
+
145
+ $atkStatus_b_d = (int)$row['status_b_d'];
146
+
147
+ $atkStatus_b_s = (int)$row['status_b_s'];
148
+
149
+ $atkSkill = $row['skill_name'];//dif
150
+
151
+ $weapon_a = $row['weapon_a'];//none
152
+
153
+ $weapon_m = $row['weapon_m'];//none
154
+
155
+ $atkName = $row['yokai_name'];//dif
156
+
157
+ $atkVisu = $row['visu'];//dif
158
+
159
+ $spe_type = $row['spe_type'];//none
160
+
161
+ $spe_damage = (int)$row['spe_damage'];
162
+
163
+ $spe_num = (int)$row['spe_num'];
164
+
165
+ $spe_name = $row['spe_name'];
166
+
167
+ }
168
+
169
+
170
+
171
+ $stmt =$pdo->prepare('SELECT * FROM weapon WHERE weapon_name = :wea');//ここは、weaponaゾーン difは必要ないのだ
172
+
173
+ $stmt->bindValue(':wea', $weapon_a);
174
+
175
+ $stmt->execute();
176
+
177
+ foreach($stmt as $row)
178
+
179
+ {
180
+
181
+ $weapon_a_dam = (int)$row['damage'];//武器のデータはatkの特権
182
+
183
+ $weapon_a_num = (int)$row['num'];//idじゃなくってさっき手に入れたデータをwhereにしないといけない
184
+
185
+ }
186
+
187
+ $stmt =$pdo->prepare('SELECT * FROM weapon WHERE weapon_name = :wea');//ここはweaponmゾーン
188
+
189
+ $stmt->bindValue(':wea', $weapon_m);
190
+
191
+ $stmt->execute();
192
+
193
+ foreach($stmt as $row)
194
+
195
+ {
196
+
197
+ $weapon_m_dam = (int)$row['damage'];
198
+
199
+ $weapon_m_attribute = $row['attribute_type'];
200
+
201
+ $weapon_m_heal = (int)$row['heal'];
202
+
203
+ }
204
+
205
+
206
+
207
+ //したからdifゾーンだぞ
208
+
209
+ $stmt =$pdo->prepare('SELECT * FROM yokai_data WHERE id = :id');
210
+
211
+ $stmt->bindValue(':id', $dif_name);
212
+
213
+ $stmt->execute();
214
+
215
+ foreach($stmt as $row)
216
+
217
+ {
218
+
219
+ $difStatus_a_h = (int)$row['status_a_h'];//dif
220
+
221
+ $difStatus_a_a = (int)$row['status_a_a'];
222
+
223
+ $difStatus_a_m = (int)$row['status_a_m'];
224
+
225
+ $difStatus_a_d = (int)$row['status_a_d'];
226
+
227
+ $difStatus_a_s = (int)$row['status_a_s'];
228
+
229
+ $difStatus_b_h = (int)$row['status_b_h'];
230
+
231
+ $difStatus_b_a = (int)$row['status_b_a'];
232
+
233
+ $difStatus_b_m = (int)$row['status_b_m'];
234
+
235
+ $difStatus_b_d = (int)$row['status_b_d'];
236
+
237
+ $difStatus_b_s = (int)$row['status_b_s'];
238
+
239
+ $difSkill = $row['skill_name'];//dif
240
+
241
+ $difName = $row['yokai_name'];//dif
242
+
243
+ $difVisu = $row['visu'];//dif
244
+
245
+ }
246
+
247
+
248
+
249
+ $atkArray =array($atkStatus_a_h,$atkStatus_a_a,$atkStatus_a_m,$atkStatus_a_d,$atkStatus_a_s,$atkStatus_b_h,$atkStatus_b_a,$atkStatus_b_m,$atkStatus_b_d,$atkStatus_b_s,$atkSkill,$atkName,$atkVisu,$weapon_a,$weapon_m,$spe_type,$spe_damage,$spe_num,$spe_name);
250
+
251
+
252
+
253
+ $weaponArray =array($weapon_a_dam,$weapon_a_num,$weapon_m_dam,$weapon_m_attribute,$weapon_m_heal);
254
+
255
+
256
+
257
+ $difArray =array($difStatus_a_h,$difStatus_a_a,$difStatus_a_m,$difStatus_a_d,$difStatus_a_s,$difStatus_b_h,$difStatus_b_a,$difStatus_b_m,$difStatus_b_d,$difStatus_b_s,$difSkill,$difVisu,$difName);
258
+
259
+
260
+
261
+ $combinedArray =array_merge($atkArray, $difArray, $weaponArray);
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ $combinedArray_json = json_encode($combinedArray,JSON_UNESCAPED_UNICODE);
270
+
271
+ return $combinedArray_json;
272
+
273
+
274
+
275
+ //print_r($combinedArray_json);
276
+
277
+
278
+
279
+ $pdo =null;
280
+
281
+
282
+
283
+ } catch (PDOException $e) {
284
+
285
+ header('Content-Type: text/plain; charset=UTF-8', true, 500);
286
+
287
+ exit($e->getMessage());
288
+
289
+
290
+
291
+ } catch (PDOException $e) {
292
+
293
+ header('Content-Type: text/plain; charset=UTF-8', true, 500);
294
+
295
+ exit($e->getMessage());
296
+
297
+
298
+
299
+ }
300
+
301
+
302
+
303
+ }
304
+
305
+
306
+
307
+ $func = $_POST['func'];
308
+
309
+ $atk_name= $_POST['atkId'];
310
+
311
+ $dif_name= $_POST['difId'];
312
+
313
+ echo $func($atk_name,$dif_name);
314
+
315
+
316
+
317
+
318
+
319
+ ?>
320
+
321
+ ```
322
+
323
+
324
+
325
+ ```html
326
+
327
+ <!DOCTYPE html>
328
+
329
+ <html lang="jp">
330
+
331
+ <head>
332
+
333
+ <title>サンプルページ</title>
334
+
335
+
336
+
337
+ <meta charset="utf-8">
338
+
339
+ <meta name="description" content="">
340
+
341
+ <meta name="author" content="">
342
+
343
+ <meta name="keywords" content="">
344
+
345
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
346
+
347
+
348
+
349
+ </head>
350
+
351
+ <body>
352
+
353
+ <!-- ここからHTMLでマークアップする -->
354
+
355
+
356
+
357
+ <!-- JQeryを読み込む -->
358
+
359
+ <!--<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>-->
360
+
361
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
362
+
363
+
364
+
365
+ <!-- 自分で作成したJavaScriptを読み込む -->
366
+
367
+ <script src="demo.js"></script>
368
+
369
+
370
+
371
+ <div id="element"></div>
372
+
373
+ <div id="element2"></div>
374
+
375
+ </body>
376
+
377
+ </html>
378
+
379
+ ```

2

誤解

2021/11/14 21:02

投稿

TrueRyoB
TrueRyoB

スコア79

test CHANGED
@@ -1 +1 @@
1
- Ajax: jsに移すと配列が全部nullになる現象打破したいです
1
+ Ajax: jsに移すと配列がおじゃんになる阻止したいです
test CHANGED
@@ -16,558 +16,4 @@
16
16
 
17
17
  返す際、渡すデータが30以上あるので、phpで一旦**配列**に入れてから**json**処理してます。
18
18
 
19
-
20
-
21
- 変数(1データのみ)をjsonにして渡す時はしっかり作動するのに、**配列をjsに返すと全部にnull**が入力されてる状態になってます。phpの時点でjson化した配列をprint_rして確かめたらしっかり配列の中身ありました。
22
-
23
-
24
-
25
- 配列をjsonにしてjsに送る際に何かしらのエラーが発生してるのだと思われます。null化を防ぐにはどうすればいいのでしょうか?よろしくお願いいたします
26
-
27
-
28
-
29
- ### コード1(json配列をphpで確認したコード)
30
-
31
- ```php
32
-
33
- <?php
34
-
35
-
36
-
37
-
38
-
39
- try {
40
-
41
-
42
-
43
- /* リクエストから得たスーパーグローバル変数をチェックするなどの処理 */
44
-
45
-
46
-
47
- // データベースに接続
48
-
49
- $pdo = new PDO(
50
-
51
- 'mysql:dbname=---;host=-----;charset=utf8mb4',
52
-
53
- '-----',
54
-
55
- '-----',
56
-
57
- [
58
-
59
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
60
-
61
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
62
-
63
- ]
64
-
65
- );
66
-
67
-
68
-
69
- //ここでDBからデータを得てます
70
-
71
- $stmt =$pdo->prepare('SELECT * FROM yokai_data WHERE id = :id');
72
-
73
- $stmt->bindValue(':id', "322");
74
-
75
- $stmt->execute();
76
-
77
- foreach($stmt as $row)
78
-
79
- {
80
-
81
- $atkStatus_a_h = (int)$row['status_a_h'];//dif
82
-
83
- $atkStatus_a_a = (int)$row['status_a_a'];
84
-
85
- $atkStatus_a_m = (int)$row['status_a_m'];
86
-
87
- $atkStatus_a_d = (int)$row['status_a_d'];
88
-
89
- $atkStatus_a_s = (int)$row['status_a_s'];
90
-
91
- $atkStatus_b_h = (int)$row['status_b_h'];
92
-
93
- $atkStatus_b_a = (int)$row['status_b_a'];
94
-
95
- $atkStatus_b_m = (int)$row['status_b_m'];
96
-
97
- $atkStatus_b_d = (int)$row['status_b_d'];
98
-
99
- $atkStatus_b_s = (int)$row['status_b_s'];
100
-
101
- $atkSkill = $row['skill_name'];//dif
102
-
103
- $weapon_a = $row['weapon_a'];//none
104
-
105
- $weapon_m = $row['weapon_m'];//none
106
-
107
- $atkName = $row['yokai_name'];//dif
108
-
109
- $atkVisu = $row['visu'];//dif
110
-
111
- $spe_type = $row['spe_type'];//none
112
-
113
- $spe_damage = (int)$row['spe_damage'];
114
-
115
- $spe_num = (int)$row['spe_num'];
116
-
117
- $spe_name = $row['spe_name'];
118
-
119
- }
120
-
121
-
122
-
123
- //データ入手省略
124
-
125
-
126
-
127
- $atkArray =array($atkStatus_a_h,$atkStatus_a_a,$atkStatus_a_m,$atkStatus_a_d,$atkStatus_a_s,$atkStatus_b_h,$atkStatus_b_a,$atkStatus_b_m,$atkStatus_b_d,$atkStatus_b_s,$atkSkill,$atkName,$atkVisu,$weapon_a,$weapon_m,$spe_type,$spe_damage,$spe_num,$spe_name);
128
-
129
-
130
-
131
- //配列省略
132
-
133
-
134
-
135
- $combinedArray =array_merge($atkArray, $difArray, $weaponArray);
136
-
137
-
138
-
139
-
140
-
141
-
142
-
143
- $combinedArray_json = json_encode($combinedArray,JSON_UNESCAPED_UNICODE);
144
-
145
-
146
-
147
- //json化させた配列を、上と下のコードで表示させようとしてます
148
-
149
-
150
-
151
- print_r($combinedArray_json);
152
-
153
-
154
-
155
- $pdo =null;
156
-
157
-
158
-
159
- } catch (PDOException $e) {
160
-
161
- header('Content-Type: text/plain; charset=UTF-8', true, 500);
162
-
163
- exit($e->getMessage());
164
-
165
-
166
-
167
- } catch (PDOException $e) {
168
-
169
- header('Content-Type: text/plain; charset=UTF-8', true, 500);
170
-
171
- exit($e->getMessage());
172
-
173
-
174
-
175
- }
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
- //実行結果は、下に貼りました
184
-
185
- ?>
186
-
187
- ```
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
- ### コード2(html,php,javascriptで構成されてます)
196
-
197
-
198
-
199
- ```html
200
-
201
- <!DOCTYPE html>
202
-
203
- <html lang="jp">
204
-
205
- <head>
206
-
207
- <title>サンプルページ</title>
208
-
209
-
210
-
211
- <meta charset="utf-8">
212
-
213
- <meta name="description" content="">
214
-
215
- <meta name="author" content="">
216
-
217
- <meta name="keywords" content="">
218
-
219
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
220
-
221
-
222
-
223
- </head>
224
-
225
- <body>
226
-
227
- <!-- ここからHTMLでマークアップする -->
228
-
229
-
230
-
231
- <!-- JQeryを読み込む -->
232
-
233
- <!--<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>-->
234
-
235
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
236
-
237
-
238
-
239
- <!-- 自分で作成したJavaScriptを読み込む -->
240
-
241
- <script src="demo.js"></script>
242
-
243
-
244
-
245
- <div id="element"></div>
246
-
247
- <div id="element2"></div>
248
-
249
- </body>
250
-
251
- </html>
252
-
253
- ```
254
-
255
-
256
-
257
- ```javascript
258
-
259
- const atkId = '322';
260
-
261
- const difId = '350';
262
-
263
-
264
-
265
- $.ajax({
266
-
267
- type:'post',
268
-
269
- url:'http://localhost:8888/demo.php',
270
-
271
- data:{'func':'get_context',atkId:atkId,'difId':difId},
272
-
273
- datatype : "json",
274
-
275
- })
276
-
277
- .done(function(response) { //正常に処理が完了した時
278
-
279
- //成功した時に、計算用関数(下にあるやつ)を実行するようにします!
280
-
281
- element.innerHTML = "<p>"+response+"</p>";
282
-
283
-
284
-
285
-
286
-
287
- })
288
-
289
- .fail(function(xhr) {
290
-
291
- alert("失敗!");
292
-
293
-
294
-
295
- })
296
-
297
- .always(function(xhr, msg) {
298
-
299
-
300
-
301
- });
302
-
303
- ```
304
-
305
-
306
-
307
- ```php
308
-
309
- <?php
310
-
311
-
312
-
313
- function get_context($atk_name,$dif_name){
314
-
315
-
316
-
317
- try {
318
-
319
-
320
-
321
- /* リクエストから得たスーパーグローバル変数をチェックするなどの処理 */
322
-
323
-
324
-
325
- // データベースに接続
326
-
327
- $pdo = new PDO(
328
-
329
- 'mysql:dbname=-;host=-;charset=utf8mb4',
330
-
331
- '-',
332
-
333
- '-',
334
-
335
- [
336
-
337
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
338
-
339
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
340
-
341
- ]
342
-
343
- );
344
-
345
-
346
-
347
- //ここでは、アタッカーのyokai_dataDBから手に入る変数を入れる 1をpost atkIdに変える
348
-
349
- $stmt =$pdo->prepare('SELECT * FROM yokai_data WHERE id = :id');
350
-
351
- $stmt->bindValue(':id', $atkId);
352
-
353
- $stmt->execute();
354
-
355
- foreach($stmt as $row)
356
-
357
- {
358
-
359
- $atkStatus_a_h = (int)$row['status_a_h'];//dif
360
-
361
- $atkStatus_a_a = (int)$row['status_a_a'];
362
-
363
- $atkStatus_a_m = (int)$row['status_a_m'];
364
-
365
- $atkStatus_a_d = (int)$row['status_a_d'];
366
-
367
- $atkStatus_a_s = (int)$row['status_a_s'];
368
-
369
- $atkStatus_b_h = (int)$row['status_b_h'];
370
-
371
- $atkStatus_b_a = (int)$row['status_b_a'];
372
-
373
- $atkStatus_b_m = (int)$row['status_b_m'];
374
-
375
- $atkStatus_b_d = (int)$row['status_b_d'];
376
-
377
- $atkStatus_b_s = (int)$row['status_b_s'];
378
-
379
- $atkSkill = $row['skill_name'];//dif
380
-
381
- $weapon_a = $row['weapon_a'];//none
382
-
383
- $weapon_m = $row['weapon_m'];//none
384
-
385
- $atkName = $row['yokai_name'];//dif
386
-
387
- $atkVisu = $row['visu'];//dif
388
-
389
- $spe_type = $row['spe_type'];//none
390
-
391
- $spe_damage = (int)$row['spe_damage'];
392
-
393
- $spe_num = (int)$row['spe_num'];
394
-
395
- $spe_name = $row['spe_name'];
396
-
397
- }
398
-
399
-
400
-
401
- $stmt =$pdo->prepare('SELECT * FROM weapon WHERE weapon_name = :wea');//ここは、weaponaゾーン difは必要ないのだ
402
-
403
- $stmt->bindValue(':wea', $weapon_a);
404
-
405
- $stmt->execute();
406
-
407
- foreach($stmt as $row)
408
-
409
- {
410
-
411
- $weapon_a_dam = (int)$row['damage'];//武器のデータはatkの特権
412
-
413
- $weapon_a_num = (int)$row['num'];//idじゃなくってさっき手に入れたデータをwhereにしないといけない
414
-
415
- }
416
-
417
- $stmt =$pdo->prepare('SELECT * FROM weapon WHERE weapon_name = :wea');//ここはweaponmゾーン
418
-
419
- $stmt->bindValue(':wea', $weapon_m);
420
-
421
- $stmt->execute();
422
-
423
- foreach($stmt as $row)
424
-
425
- {
426
-
427
- $weapon_m_dam = (int)$row['damage'];
428
-
429
- $weapon_m_attribute = $row['attribute_type'];
430
-
431
- $weapon_m_heal = (int)$row['heal'];
432
-
433
- }
434
-
435
-
436
-
437
- //したからdifゾーンだぞ
438
-
439
- $stmt =$pdo->prepare('SELECT * FROM yokai_data WHERE id = :id');
440
-
441
- $stmt->bindValue(':id', $difId);
442
-
443
- $stmt->execute();
444
-
445
- foreach($stmt as $row)
446
-
447
- {
448
-
449
- $difStatus_a_h = (int)$row['status_a_h'];//dif
450
-
451
- $difStatus_a_a = (int)$row['status_a_a'];
452
-
453
- $difStatus_a_m = (int)$row['status_a_m'];
454
-
455
- $difStatus_a_d = (int)$row['status_a_d'];
456
-
457
- $difStatus_a_s = (int)$row['status_a_s'];
458
-
459
- $difStatus_b_h = (int)$row['status_b_h'];
460
-
461
- $difStatus_b_a = (int)$row['status_b_a'];
462
-
463
- $difStatus_b_m = (int)$row['status_b_m'];
464
-
465
- $difStatus_b_d = (int)$row['status_b_d'];
466
-
467
- $difStatus_b_s = (int)$row['status_b_s'];
468
-
469
- $difSkill = $row['skill_name'];//dif
470
-
471
- $difName = $row['yokai_name'];//dif
472
-
473
- $difVisu = $row['visu'];//dif
474
-
475
- }
476
-
477
-
478
-
479
- $atkArray =array($atkStatus_a_h,$atkStatus_a_a,$atkStatus_a_m,$atkStatus_a_d,$atkStatus_a_s,$atkStatus_b_h,$atkStatus_b_a,$atkStatus_b_m,$atkStatus_b_d,$atkStatus_b_s,$atkSkill,$atkName,$atkVisu,$weapon_a,$weapon_m,$spe_type,$spe_damage,$spe_num,$spe_name);
480
-
481
-
482
-
483
- $weaponArray =array($weapon_a_dam,$weapon_a_num,$weapon_m_dam,$weapon_m_attribute,$weapon_m_heal);
484
-
485
-
486
-
487
- $difArray =array($difStatus_a_h,$difStatus_a_a,$difStatus_a_m,$difStatus_a_d,$difStatus_a_s,$difStatus_b_h,$difStatus_b_a,$difStatus_b_m,$difStatus_b_d,$difStatus_b_s,$difSkill,$difVisu,$difName);
488
-
489
-
490
-
491
- $combinedArray =array_merge($atkArray, $difArray, $weaponArray);
492
-
493
-
494
-
495
- //ここでデータreturnしてますね...
496
-
497
- $combinedArray_json = json_encode($combinedArray,JSON_UNESCAPED_UNICODE);
498
-
499
- return $combinedArray_json;
500
-
501
- //$atkArray_json = json_encode($atkArray,JSON_UNESCAPED_UNICODE);
502
-
503
- //return $atkArray_json;
504
-
505
-
506
-
507
- $pdo =null;
508
-
509
-
510
-
511
- } catch (PDOException $e) {
512
-
513
- header('Content-Type: text/plain; charset=UTF-8', true, 500);
514
-
515
- exit($e->getMessage());
516
-
517
-
518
-
519
- } catch (PDOException $e) {
520
-
521
-
522
-
523
- // エラーが発生した場合は「500 Internal Server Error」でテキストとして表示して終了する
524
-
525
- // - もし手抜きしたくない場合は普通にHTMLの表示を継続する
526
-
527
- // - ここではエラー内容を表示しているが, 実際の商用環境ではログファイルに記録して, Webブラウザには出さないほうが望ましい
528
-
529
- header('Content-Type: text/plain; charset=UTF-8', true, 500);
530
-
531
- exit($e->getMessage());
532
-
533
-
534
-
535
- }
536
-
537
-
538
-
539
- }
540
-
541
-
542
-
543
- $func = $_POST['func'];
544
-
545
- $atk_name= $_POST['atkId'];
546
-
547
- $dif_name= $_POST['difId'];
548
-
549
- echo $func($atk_name,$dif_name);
550
-
551
-
552
-
553
- ?>
554
-
555
- ```
556
-
557
-
558
-
559
-
560
-
561
- ### 実行画面
562
-
563
-
564
-
565
- phpでjson化した配列をprint_rした結果 ->成功
566
-
567
- ![イメージ説明](e7422e212b694b280dc1fea6ed356928.png)
568
-
569
-
570
-
571
- jsで受け取った配列をinnerHTMLで表示させた結果 ->失敗
572
-
573
- ![イメージ説明](ff99e79dae45b2f8bfe05509f074f25d.png)
19
+ そして、jsで解凍、、と言う風にしたかったのですが、jsで受け取った値で例えばresponse[2]とか指定すると、[12,13,14]と言う配列があったとして2を取ってきます。本当に欲しい値は14です。この現象どうすれば解決できるのでしょうか?よろしくお願いします。とりあえずコードを書くのに時間がかかるので質問文だけ先に出します。

1

個人情報保護

2021/11/14 20:55

投稿

TrueRyoB
TrueRyoB

スコア79

test CHANGED
File without changes
test CHANGED
@@ -326,11 +326,11 @@
326
326
 
327
327
  $pdo = new PDO(
328
328
 
329
- 'mysql:dbname=ryorar;host=127.0.0.1;charset=utf8mb4',
329
+ 'mysql:dbname=-;host=-;charset=utf8mb4',
330
-
330
+
331
- 'viewers',
331
+ '-',
332
-
332
+
333
- 'Mypass1!',
333
+ '-',
334
334
 
335
335
  [
336
336