回答編集履歴
2
加筆修正
answer
CHANGED
@@ -46,4 +46,7 @@
|
|
46
46
|
print_r(json_encode($array, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE));
|
47
47
|
```
|
48
48
|
|
49
|
-
> {"tour":[{"id":"4409103","hotel_name":"ホテルあいうえお"},{"id":"3975042","hotel_name":"ホテルかきくけこ"},{"id":"4410566","hotel_name":"ホテルさしすせそ"},{"id":"4409104","hotel_name":"ホテルたちつてと"}],"tournum":{"tourmaxcount":1111}}
|
49
|
+
> {"tour":[{"id":"4409103","hotel_name":"ホテルあいうえお"},{"id":"3975042","hotel_name":"ホテルかきくけこ"},{"id":"4410566","hotel_name":"ホテルさしすせそ"},{"id":"4409104","hotel_name":"ホテルたちつてと"}],"tournum":{"tourmaxcount":1111}}
|
50
|
+
|
51
|
+
json_encode()の第2引数の味付けはてきとーなので、ほしい結果になるようにアレンジすると良いかも。
|
52
|
+
[PHP: json_encode - Manual](https://www.php.net/manual/ja/function.json-encode.php)
|
1
サンプルコードを追加
answer
CHANGED
@@ -5,4 +5,45 @@
|
|
5
5
|
示されたphpコードではオブジェクトで受け取っているため、
|
6
6
|
配列としての操作が意味をなしません。
|
7
7
|
|
8
|
-
第2引数にtrueを与えてみてください。
|
8
|
+
第2引数にtrueを与えてみてください。
|
9
|
+
|
10
|
+
```php
|
11
|
+
<?php
|
12
|
+
|
13
|
+
$hotels = [
|
14
|
+
"4409103" => "ホテルあいうえお",
|
15
|
+
"3975042" => "ホテルかきくけこ",
|
16
|
+
"4410566" => "ホテルさしすせそ",
|
17
|
+
"4409104" => "ホテルたちつてと",
|
18
|
+
];
|
19
|
+
$json = <<<EOT
|
20
|
+
{
|
21
|
+
"tour": [
|
22
|
+
{
|
23
|
+
"id": "4409103"
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"id": "3975042"
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"id": "4410566"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"id": "4409104"
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"tournum": {
|
36
|
+
"tourmaxcount": 1111
|
37
|
+
}
|
38
|
+
}
|
39
|
+
EOT;
|
40
|
+
$array = json_decode($json, true);
|
41
|
+
for ($i = 0; $i < count($array['tour']); $i++) {
|
42
|
+
if (isset($hotels[$array['tour'][$i]['id']])) {
|
43
|
+
$array['tour'][$i]['hotel_name'] = $hotels[$array['tour'][$i]['id']];
|
44
|
+
}
|
45
|
+
}
|
46
|
+
print_r(json_encode($array, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE));
|
47
|
+
```
|
48
|
+
|
49
|
+
> {"tour":[{"id":"4409103","hotel_name":"ホテルあいうえお"},{"id":"3975042","hotel_name":"ホテルかきくけこ"},{"id":"4410566","hotel_name":"ホテルさしすせそ"},{"id":"4409104","hotel_name":"ホテルたちつてと"}],"tournum":{"tourmaxcount":1111}}
|