回答編集履歴
1
補足
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
|
+
とも書けます。
|