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

質問編集履歴

2

追記

2020/07/26 02:55

投稿

satokibi
satokibi

スコア5

title CHANGED
File without changes
body CHANGED
@@ -68,4 +68,45 @@
68
68
  ```
69
69
  ここからさらにforかforeachで処理したいのですが
70
70
  $itemの$iとは別で$jとかにしてfor文で回せばいいのかなと思うのですが
71
- 構文が思いつかず。
71
+ 構文が思いつかず。
72
+
73
+ ```PHP
74
+ for($i=0; $i<="$hits"-1; $i++){
75
+ $item= $xml->result->items->item;
76
+ $title[$i] = $item[$i] ->title;
77
+ $gazo[$i] = $item[$i] ->imageURL->large;
78
+ $affi_link[$i] = $item[$i] ->affiliateURL;
79
+ $information[$i] = $item[$i] ->iteminfo->maker->item->name;
80
+ $content_id[$i] = $item[$i] ->content_id;
81
+ $actress[$i] = $item[$i] ->iteminfo->actress->item->name;
82
+
83
+
84
+ if($title[$i] == "") {break;}
85
+
86
+ $genre[$i]= $item-> iteminfo -> genre;
87
+ $genre2[$i]= count($genre[$i]->item);
88
+ $genre3[$i] = [];
89
+ for($j = 0 ; $j < $genre2[$i] ;$j++){
90
+ for($j=0;$j <= $genre2[$i] -1 ; $j++){
91
+ $genre3[$i][] = (string)$genre[$i]->item[$j]->name;
92
+ }}
93
+ ```
94
+ このような形で$gere3を取得すると
95
+ ```PHP
96
+ array(7) {
97
+ [0]=>
98
+ array(4) {
99
+ [0]=>
100
+ string(21) "A"
101
+ [1]=>
102
+ string(12) "B"
103
+ }
104
+ [1]=>
105
+ array(4) {
106
+ [0]=>
107
+ string(21) "A"
108
+ [1]=>
109
+ string(12) "B"
110
+ ```
111
+ と同じものがループしてしまいます。
112
+ 別々のものを取得できるようにしたいと考えています。

1

文法の追加

2020/07/26 02:55

投稿

satokibi
satokibi

スコア5

title CHANGED
File without changes
body CHANGED
@@ -54,4 +54,18 @@
54
54
  と出力したいと思っています。
55
55
 
56
56
  書籍やネットを読んでも理解できず足ふみしており申し訳ございませんが
57
- ご教示頂けると幸いです。
57
+ ご教示頂けると幸いです。
58
+
59
+ 追記 単独で処理するコードできます。
60
+ ```PHP
61
+ $genre= $item-> iteminfo -> genre;
62
+ $genre2 = count($genre->item);
63
+ $genre3 = [];
64
+ for($i = 0 ; $i < $genre2 ;$i++){
65
+ for($i=0;$i <= $genre2 -1 ; $i++){
66
+ $genre3[] = (string)$genre->item[$i]->name;
67
+ }}
68
+ ```
69
+ ここからさらにforかforeachで処理したいのですが
70
+ $itemの$iとは別で$jとかにしてfor文で回せばいいのかなと思うのですが
71
+ 構文が思いつかず。