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

回答編集履歴

1

回答の補正

2016/04/27 09:34

投稿

tonarino210
tonarino210

スコア228

answer CHANGED
@@ -3,7 +3,68 @@
3
3
  配列Bの値と配列Aの値を比較
4
4
  同じなら配列Aから配列Cに入れる
5
5
  配列Aから抜き出したデータを削除
6
+ 配列Aのループブレイク(※追記)
6
7
  配列Aのループ終了
7
8
  配列Bのループ終了
8
9
 
9
- (適当過ぎですね・・・すみません。今時間ないのでヒント程度にして下さい・・・)
10
+ (適当過ぎですね・・・すみません。今時間ないのでヒント程度にして下さい・・・)
11
+
12
+ ※ 時間できたので追記
13
+ 上の流れをコードにするとこんな感じになると思います。
14
+ (ブレイクが抜けておりました・・・)
15
+ ```PHP
16
+ $result = array();
17
+ foreach ($arrayB as $dataB) {
18
+ foreach ($arrayA as $key => $dataA) {
19
+ if ($dataA['item'] === $dataB) {
20
+ $result[] = $dataA;
21
+ unset($arrayA[$key]);
22
+ break;
23
+ }
24
+ }
25
+ }
26
+
27
+ print_r($result);
28
+
29
+ // 結果
30
+ Array
31
+ (
32
+ [0] => Array
33
+ (
34
+ [item] => item1
35
+ [date] => 2016-04-01
36
+ )
37
+
38
+ [1] => Array
39
+ (
40
+ [item] => item2
41
+ [date] => 2016-04-04
42
+ )
43
+
44
+ [2] => Array
45
+ (
46
+ [item] => item1
47
+ [date] => 2016-04-02
48
+ )
49
+
50
+ [3] => Array
51
+ (
52
+ [item] => item2
53
+ [date] => 2016-04-05
54
+ )
55
+
56
+ [4] => Array
57
+ (
58
+ [item] => item1
59
+ [date] => 2016-04-03
60
+ )
61
+
62
+ [5] => Array
63
+ (
64
+ [item] => item2
65
+ [date] => 2016-04-06
66
+ )
67
+
68
+ )
69
+
70
+ ```