回答編集履歴
1
追記
answer
CHANGED
@@ -66,5 +66,96 @@
|
|
66
66
|
}
|
67
67
|
}
|
68
68
|
}
|
69
|
+
```
|
69
70
|
|
71
|
+
---
|
72
|
+
追記
|
73
|
+
```PHP
|
74
|
+
$food1 = "猫缶"; //$_POST['food1']; //1つ目のselectのoptionのvalue
|
75
|
+
$food2 = "カリカリ"; //$_POST['food2']; //2つ目のselectのoptionのvalue
|
76
|
+
|
77
|
+
// 検索結果をショップ名をキーにした連想配列に詰める
|
78
|
+
$result["shop-a"][$food1][] = array("item"=>"猫缶A","price"=>100,"url"=>"http://...");
|
79
|
+
$result["shop-a"][$food1][] = array("item"=>"猫缶A(関東限定)","price"=>100,"url"=>"http://...");
|
80
|
+
$result["shop-a"][$food2][] = array("item"=>"猫缶B","price"=>150,"url"=>"http://...");
|
81
|
+
$result["shop-b"][$food1][] = array("item"=>"猫缶A","price"=>105,"url"=>"http://...");
|
82
|
+
$result["shop-c"][$food1][] = array("item"=>"猫缶A","price"=>98,"url"=>"http://...");
|
83
|
+
$result["shop-c"][$food2][] = array("item"=>"猫缶B","price"=>110,"url"=>"http://...");
|
84
|
+
|
85
|
+
// food1とfood2の両方の結果があるショップだけを抽出する
|
86
|
+
$result2 = array_filter($result, function($r){
|
87
|
+
return count($r)>=2;
|
88
|
+
});
|
89
|
+
|
90
|
+
// 並び替えの処理は、複数商品があった場合どうするかによるので今回は省略
|
91
|
+
|
92
|
+
var_dump($result2);
|
93
|
+
```
|
94
|
+
結果
|
95
|
+
```
|
96
|
+
array(2) {
|
97
|
+
["shop-a"]=>
|
98
|
+
array(2) {
|
99
|
+
["猫缶"]=>
|
100
|
+
array(2) {
|
101
|
+
[0]=>
|
102
|
+
array(3) {
|
103
|
+
["item"]=>
|
104
|
+
string(7) "猫缶A"
|
105
|
+
["price"]=>
|
106
|
+
int(100)
|
107
|
+
["url"]=>
|
108
|
+
string(10) "http://..."
|
109
|
+
}
|
110
|
+
[1]=>
|
111
|
+
array(3) {
|
112
|
+
["item"]=>
|
113
|
+
string(21) "猫缶A(関東限定)"
|
114
|
+
["price"]=>
|
115
|
+
int(100)
|
116
|
+
["url"]=>
|
117
|
+
string(10) "http://..."
|
118
|
+
}
|
119
|
+
}
|
120
|
+
["カリカリ"]=>
|
121
|
+
array(1) {
|
122
|
+
[0]=>
|
123
|
+
array(3) {
|
124
|
+
["item"]=>
|
125
|
+
string(7) "猫缶B"
|
126
|
+
["price"]=>
|
127
|
+
int(150)
|
128
|
+
["url"]=>
|
129
|
+
string(10) "http://..."
|
130
|
+
}
|
131
|
+
}
|
132
|
+
}
|
133
|
+
["shop-c"]=>
|
134
|
+
array(2) {
|
135
|
+
["猫缶"]=>
|
136
|
+
array(1) {
|
137
|
+
[0]=>
|
138
|
+
array(3) {
|
139
|
+
["item"]=>
|
140
|
+
string(7) "猫缶A"
|
141
|
+
["price"]=>
|
142
|
+
int(98)
|
143
|
+
["url"]=>
|
144
|
+
string(10) "http://..."
|
145
|
+
}
|
146
|
+
}
|
147
|
+
["カリカリ"]=>
|
148
|
+
array(1) {
|
149
|
+
[0]=>
|
150
|
+
array(3) {
|
151
|
+
["item"]=>
|
152
|
+
string(7) "猫缶B"
|
153
|
+
["price"]=>
|
154
|
+
int(110)
|
155
|
+
["url"]=>
|
156
|
+
string(10) "http://..."
|
157
|
+
}
|
158
|
+
}
|
159
|
+
}
|
160
|
+
}
|
70
161
|
```
|