teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

dumpのテスト結果を追記しました。

2017/01/04 21:02

投稿

tajix_japan
tajix_japan

スコア132

title CHANGED
File without changes
body CHANGED
@@ -214,4 +214,99 @@
214
214
  ['no'=>'1','name'=>'Yamada'],['no'=>'2','name'=>'Tanaka'],
215
215
  として読んでくれるようになりますでしょうか?
216
216
 
217
- よろしくお願いいたします。
217
+ よろしくお願いいたします。
218
+
219
+
220
+ 追記
221
+ >$newphrase に代入したすぐ後の var_dump を採って追記いただけますか?
222
+
223
+ kei344様
224
+ 有難うございます。
225
+
226
+ $_REQUEST['user_type']の部分を$type = 'a';とリクエストを受け取った形に変形してテストしました。
227
+
228
+ ```php
229
+
230
+ //$type = $_REQUEST['user_type'];
231
+
232
+ $type = 'a';
233
+
234
+ // ユーザリストの初期化
235
+ $user_list = [];
236
+ // 返却値の初期化
237
+ $result = [];
238
+
239
+ try {
240
+ // 値の検証
241
+ if (empty($type)) {
242
+ throw new Exception("no type...");
243
+ }
244
+
245
+
246
+
247
+ // ユーザリストの作成
248
+ switch ($type) {
249
+ case 'a':
250
+ case 'admin':
251
+ $user_list =
252
+
253
+ [
254
+ $newphrase
255
+ ];
256
+ break;
257
+
258
+ var_dump($newphrase);
259
+
260
+ 以下同文
261
+
262
+ ```
263
+
264
+ と記載してみました。
265
+
266
+ 結果
267
+ {"result":"OK","users":[{"no":"1","name":"Yamada"},{"no":"2","name":"Tanaka"}]}
268
+
269
+ となるべきところが
270
+
271
+ {"result":"OK","users":["\ufeff[{"no":"1","name":"Yamada"},{"no":"2","name":"Tanaka"],"]}
272
+
273
+ と ["\ufeff 及び "] のへんてこな文字が混じっていることがわかりました。
274
+
275
+ \ufeffをググるとBOM付でこれが出ると書かれていたのですが、確認したところBOM付で記載してはいません。改行コードも自動判定からLFに変更しましたがやはり変化がありません。
276
+
277
+ (遅くなりましたが環境はCent OS 6.8です)
278
+
279
+
280
+ 当方は今回初めてAPIを作ることになるため、下記をベースに開発しています。
281
+ http://qiita.com/busyoumono99/items/9b5ffd35dd521bafce47
282
+ ここのサンプルの標準で用意されている下記のcace 'g'を追記し
283
+ $_REQUEST['user_type']の部分を$type = 'g';としてテストしました。
284
+
285
+ ```php
286
+ case 'g':
287
+ case 'guest':
288
+ $user_list = [
289
+ ['name'=>'香取','age'=>14],
290
+ ['name'=>'草薙','age'=>15],
291
+ ['name'=>'稲垣','age'=>15],
292
+ ['name'=>'岡田','age'=>15],
293
+ ['name'=>'森田','age'=>15],
294
+ ['name'=>'三宅','age'=>15],
295
+ ['name'=>'長野','age'=>15],
296
+ ['name'=>'坂本','age'=>15],
297
+ ['name'=>'井ノ原','age'=>15]
298
+ ];
299
+ break;
300
+ default:
301
+
302
+
303
+ ```
304
+ 結果
305
+
306
+ {"result":"OK","users":[{"name":"\u9999\u53d6","age":14},{"name":"\u8349\u8599","age":15},{"name":"\u7a32\u57a3","age":15},{"name":"\u5ca1\u7530","age":15},{"name":"\u68ee\u7530","age":15},{"name":"\u4e09\u5b85","age":15},{"name":"\u9577\u91ce","age":15},{"name":"\u5742\u672c","age":15},{"name":"\u4e95\u30ce\u539f","age":15}]}
307
+
308
+ と普通にdump出来ます。
309
+
310
+ 上記のテストから$newphraseを代入するとゴミ文字が入ってくることで表示出来なくなっていることがわかりました。
311
+
312
+ もう一歩だと思いますので何かアドバイスできることがございましたらよろしくお願いいたします。