質問編集履歴

3

解決方法と欲しかった結果の記載

2022/01/19 07:18

投稿

haruatu
haruatu

score88

test CHANGED
File without changes
test CHANGED
@@ -107,6 +107,7 @@
107
107
  29 => array:1 [▶]
108
108
  ]
109
109
  ```
110
+
110
111
  ```ここに言語を入力
111
112
  array:30 [▼
112
113
  0 => array:4 [▼
@@ -145,3 +146,103 @@
145
146
  28 => array:4 [▶]
146
147
  29 => array:4 [▶]
147
148
  ]
149
+
150
+ ```
151
+
152
+ 追記:解決しました。下に欲しかった結果と何をしたかを載せます。
153
+
154
+ 結果:
155
+
156
+ ```ここに言語を入力
157
+ array:30 [▼
158
+ 0 => array:33 [▼
159
+ "affiliateUrl" => ""
160
+ "author" => ""
161
+ "authorKana" => ""
162
+ "availability" => "1"
163
+ "booksGenreId" => "001010010002/001028001013/001028001"
164
+ "chirayomiUrl" => ""
165
+ "contents" => ""
166
+ "discountPrice" => 0
167
+ "discountRate" => 0
168
+ "isbn" => "9784299019943"
169
+ "itemCaption" => ""
170
+ "itemPrice" => 1100
171
+ "itemUrl" => "https://books.rakuten.co.jp/rb/16796583/"
172
+ "largeImageUrl" => "https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9943/9784299019943_1_3.jpg?_ex=200x200"
173
+ "limitedFlag" => 0
174
+ "listPrice" => 0
175
+ "mediumImageUrl" => "https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9943/9784299019943_1_3.jpg?_ex=120x120"
176
+ "postageFlag" => 2
177
+ "publisherName" => "宝島社"
178
+ "reviewAverage" => "3.0"
179
+ "reviewCount" => 1
180
+ "salesDate" => "2021年08月23日"
181
+ "seriesName" => "TJMOOK"
182
+ "seriesNameKana" => "ティージェイムック"
183
+ "size" => "ムックその他"
184
+ "smallImageUrl" => "https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9943/9784299019943_1_3.jpg?_ex=64x64"
185
+ "subTitle" => ""
186
+ "subTitleKana" => ""
187
+ "title" => "ヒトは120歳まで生きられる! 遺伝子のヒミツ"
188
+ "titleKana" => "ヒトハヒャクニジュッサイマデイキラレルイデンシノヒミツ"
189
+ "guid" => null
190
+ "link" => null
191
+ "category" => null
192
+ ]
193
+ 1 => array:33 [▶]
194
+ 2 => array:33 [▶]
195
+ 3 => array:33 [▶]
196
+ 4 => array:33 [▶]
197
+ 5 => array:33 [▶]
198
+ 6 => array:33 [▶]
199
+ 7 => array:33 [▶]
200
+ 8 => array:33 [▶]
201
+ 9 => array:33 [▶]
202
+ 10 => array:33 [▶]
203
+ 11 => array:33 [▶]
204
+ 12 => array:33 [▶]
205
+ 13 => array:33 [▶]
206
+ 14 => array:33 [▶]
207
+ 15 => array:33 [▶]
208
+ 16 => array:33 [▶]
209
+ 17 => array:33 [▶]
210
+ 18 => array:33 [▶]
211
+ 19 => array:33 [▶]
212
+ 20 => array:33 [▶]
213
+ 21 => array:33 [▶]
214
+ 22 => array:33 [▶]
215
+ 23 => array:33 [▶]
216
+ 24 => array:33 [▶]
217
+ 25 => array:33 [▶]
218
+ 26 => array:33 [▶]
219
+ 27 => array:33 [▶]
220
+ 28 => array:33 [▶]
221
+ 29 => array:33 [▶]
222
+ ]
223
+ ```
224
+
225
+ 上のと比べるとわかりやすいですが、
226
+ "guid" => null
227
+ "link" => null
228
+ "category" => null
229
+ のデータが追加される位置をこういう風に変更したかったという事です。
230
+
231
+ 解決方法:for文を下のように書き換えると事で解決しました。
232
+
233
+ ```ここに言語を入力
234
+ for($i=0;$i<count($rakutenn_books);$i++)
235
+ {
236
+
237
+ $rakutenn_books[$i]['Item'] += ["guid" => null];
238
+ $rakutenn_books[$i]['Item'] += ["link" => null];
239
+ $rakutenn_books[$i]['Item'] += ["category" => null];
240
+ array_push($bookbook,$rakutenn_books[$i]['Item']);
241
+
242
+
243
+ }
244
+ ```
245
+
246
+ 変更点は[$i]の隣に['Item']を追加したことです。
247
+
248
+ 分かりにくい質問文ですみませんでした。

2

説明とコードの追加

2022/01/18 20:14

投稿

haruatu
haruatu

score88

test CHANGED
File without changes
test CHANGED
@@ -5,7 +5,7 @@
5
5
  修正内容:一番下の連想配列は楽天の[楽天ブックス書籍検索API]を下の$rakutenn_url~$rakutenn_booksのコードで連想配列にしたもの(三つ目)に、真ん中のfor文でデータを追加したものをdd()で確認したものとなっています。
6
6
  ここで、質問の「”Item”の配列に追加したい」というのは三つ目の連想配列のように[title]や[author]などが表示されている、["Item"]下の配列にデータを追加したいという事です。
7
7
 
8
-
8
+ 追記:べつのAPIのデータと一緒に同じテーブルにデータを保存するために、書式を統一するのが目的でこんなことをしています。
9
9
 
10
10
  ```ここに言語を入力
11
11
  //楽天ブックス書籍検索

1

説明とコードの追加

2022/01/18 20:03

投稿

haruatu
haruatu

score88

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,31 @@
1
1
  phpのLaravelです。
2
2
 
3
3
  下のコードのようにfor構文を使って連想配列にデータを追加したいのですが、どうやっても下の配列のようになってしまいます。本当は”Item”の配列に追加したいのですが、どうしたらいいのでしょうか?
4
+
5
+ 修正内容:一番下の連想配列は楽天の[楽天ブックス書籍検索API]を下の$rakutenn_url~$rakutenn_booksのコードで連想配列にしたもの(三つ目)に、真ん中のfor文でデータを追加したものをdd()で確認したものとなっています。
6
+ ここで、質問の「”Item”の配列に追加したい」というのは三つ目の連想配列のように[title]や[author]などが表示されている、["Item"]下の配列にデータを追加したいという事です。
7
+
8
+
9
+
10
+ ```ここに言語を入力
11
+ //楽天ブックス書籍検索
12
+ $rakutenn_url = 'https://app.rakuten.co.jp/services/api/BooksBook/Search/20170404?applicationId=アプリid';
13
+
14
+
15
+ $rakutenn_response = $client->request(
16
+ 'GET',
17
+ $rakutenn_url,
18
+ );
19
+
20
+
21
+ $rakutenn_json = $rakutenn_response->getBody()->getContents();
22
+
23
+
24
+ $rakutenn_booklist= json_decode($rakutenn_json,true);
25
+
26
+
27
+ $rakutenn_books = $rakutenn_booklist['Items'];
28
+ ```
4
29
 
5
30
  ```ここに言語を入力
6
31
  for($i=0;$i<count($rakutenn_books);$i++)
@@ -15,7 +40,73 @@
15
40
 
16
41
  }
17
42
  ```
18
-
43
+ ```ここに言語を入力
44
+ array:30 [▼
45
+ 0 => array:1 [▼
46
+ "Item" => array:30 [▼
47
+ "affiliateUrl" => ""
48
+ "author" => "あしべゆうほ/池田悦子"
49
+ "authorKana" => "アシベユウホ/イケダエツコ"
50
+ "availability" => "1"
51
+ "booksGenreId" => "001001006010"
52
+ "chirayomiUrl" => ""
53
+ "contents" => ""
54
+ "discountPrice" => 0
55
+ "discountRate" => 0
56
+ "isbn" => "9784253070263"
57
+ "itemCaption" => ""
58
+ "itemPrice" => 880
59
+ "itemUrl" => "https://books.rakuten.co.jp/rb/896646/"
60
+ "largeImageUrl" => "https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0263/9784253070263_1_3.jpg?_ex=200x200"
61
+ "limitedFlag" => 0
62
+ "listPrice" => 0
63
+ "mediumImageUrl" => "https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0263/9784253070263_1_3.jpg?_ex=120x120"
64
+ "postageFlag" => 2
65
+ "publisherName" => "秋田書店"
66
+ "reviewAverage" => "4.5"
67
+ "reviewCount" => 6
68
+ "salesDate" => "1990年11月02日"
69
+ "seriesName" => "プリンセス・コミックス"
70
+ "seriesNameKana" => "プリンセスコミックス"
71
+ "size" => "コミック"
72
+ "smallImageUrl" => "https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0263/9784253070263_1_3.jpg?_ex=64x64"
73
+ "subTitle" => ""
74
+ "subTitleKana" => ""
75
+ "title" => "悪魔の花嫁 17"
76
+ "titleKana" => "デイモスノハナヨメ"
77
+ ]
78
+ ]
79
+ 1 => array:1 [▶]
80
+ 2 => array:1 [▶]
81
+ 3 => array:1 [▶]
82
+ 4 => array:1 [▶]
83
+ 5 => array:1 [▶]
84
+ 6 => array:1 [▶]
85
+ 7 => array:1 [▶]
86
+ 8 => array:1 [▶]
87
+ 9 => array:1 [▶]
88
+ 10 => array:1 [▶]
89
+ 11 => array:1 [▶]
90
+ 12 => array:1 [▶]
91
+ 13 => array:1 [▶]
92
+ 14 => array:1 [▶]
93
+ 15 => array:1 [▶]
94
+ 16 => array:1 [▶]
95
+ 17 => array:1 [▶]
96
+ 18 => array:1 [▶]
97
+ 19 => array:1 [▶]
98
+ 20 => array:1 [▶]
99
+ 21 => array:1 [▶]
100
+ 22 => array:1 [▶]
101
+ 23 => array:1 [▶]
102
+ 24 => array:1 [▶]
103
+ 25 => array:1 [▶]
104
+ 26 => array:1 [▶]
105
+ 27 => array:1 [▶]
106
+ 28 => array:1 [▶]
107
+ 29 => array:1 [▶]
108
+ ]
109
+ ```
19
110
  ```ここに言語を入力
20
111
  array:30 [▼
21
112
  0 => array:4 [▼