回答編集履歴

1

補足

2016/12/17 04:17

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -27,3 +27,49 @@
27
27
  $h_new = array_column($wh_new, 1);
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ 途中の部分に関して,もし `$w` `$h` の件数が極端に多いのであれば
34
+
35
+
36
+
37
+ ```php
38
+
39
+ $wh = array_flip(array_map('json_encode', array_map(null, $w, $h)));
40
+
41
+ $wh_d = array_map('json_encode', array_map(null, $w_d, $h_d));
42
+
43
+ $wh_new = [];
44
+
45
+ foreach ($wh_d as $item) {
46
+
47
+ if (!isset($wh[$item])) {
48
+
49
+ $wh_new[] = json_decode($item);
50
+
51
+ }
52
+
53
+ }
54
+
55
+ ```
56
+
57
+
58
+
59
+ と書くとやや速くなるかもしれません。ここで, `$w_d` `$h_d` に重複する組み合わせが無いと保証があれば
60
+
61
+
62
+
63
+ ```php
64
+
65
+ $wh = array_flip(array_map('json_encode', array_map(null, $w, $h)));
66
+
67
+ $wh_d = array_flip(array_map('json_encode', array_map(null, $w_d, $h_d)));
68
+
69
+ $wh_new = array_map('json_decode', array_flip(array_diff_key($wh_d, $wh)));
70
+
71
+ ```
72
+
73
+
74
+
75
+ とも書けます。