回答編集履歴

2

加筆修正

2019/09/21 02:49

投稿

退会済みユーザー
test CHANGED
@@ -95,3 +95,9 @@
95
95
 
96
96
 
97
97
  > {"tour":[{"id":"4409103","hotel_name":"ホテルあいうえお"},{"id":"3975042","hotel_name":"ホテルかきくけこ"},{"id":"4410566","hotel_name":"ホテルさしすせそ"},{"id":"4409104","hotel_name":"ホテルたちつてと"}],"tournum":{"tourmaxcount":1111}}
98
+
99
+
100
+
101
+ json_encode()の第2引数の味付けはてきとーなので、ほしい結果になるようにアレンジすると良いかも。
102
+
103
+ [PHP: json_encode - Manual](https://www.php.net/manual/ja/function.json-encode.php)

1

サンプルコードを追加

2019/09/21 02:49

投稿

退会済みユーザー
test CHANGED
@@ -13,3 +13,85 @@
13
13
 
14
14
 
15
15
  第2引数にtrueを与えてみてください。
16
+
17
+
18
+
19
+ ```php
20
+
21
+ <?php
22
+
23
+
24
+
25
+ $hotels = [
26
+
27
+ "4409103" => "ホテルあいうえお",
28
+
29
+ "3975042" => "ホテルかきくけこ",
30
+
31
+ "4410566" => "ホテルさしすせそ",
32
+
33
+ "4409104" => "ホテルたちつてと",
34
+
35
+ ];
36
+
37
+ $json = <<<EOT
38
+
39
+ {
40
+
41
+ "tour": [
42
+
43
+ {
44
+
45
+ "id": "4409103"
46
+
47
+ },
48
+
49
+ {
50
+
51
+ "id": "3975042"
52
+
53
+ },
54
+
55
+ {
56
+
57
+ "id": "4410566"
58
+
59
+ },
60
+
61
+ {
62
+
63
+ "id": "4409104"
64
+
65
+ }
66
+
67
+ ],
68
+
69
+ "tournum": {
70
+
71
+ "tourmaxcount": 1111
72
+
73
+ }
74
+
75
+ }
76
+
77
+ EOT;
78
+
79
+ $array = json_decode($json, true);
80
+
81
+ for ($i = 0; $i < count($array['tour']); $i++) {
82
+
83
+ if (isset($hotels[$array['tour'][$i]['id']])) {
84
+
85
+ $array['tour'][$i]['hotel_name'] = $hotels[$array['tour'][$i]['id']];
86
+
87
+ }
88
+
89
+ }
90
+
91
+ print_r(json_encode($array, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE));
92
+
93
+ ```
94
+
95
+
96
+
97
+ > {"tour":[{"id":"4409103","hotel_name":"ホテルあいうえお"},{"id":"3975042","hotel_name":"ホテルかきくけこ"},{"id":"4410566","hotel_name":"ホテルさしすせそ"},{"id":"4409104","hotel_name":"ホテルたちつてと"}],"tournum":{"tourmaxcount":1111}}