回答編集履歴

1

途中で回答したので編集

2019/04/19 09:35

投稿

miyabi-sun
miyabi-sun

スコア21158

test CHANGED
@@ -50,4 +50,58 @@
50
50
 
51
51
  >>> $array2 = ['b' => 2, 'c' => 2]
52
52
 
53
+ => [
54
+
55
+ "b" => 2,
56
+
57
+ "c" => 2,
58
+
59
+ ]
60
+
61
+
62
+
63
+ >>> array_intersect_key($array2, $array1)
64
+
65
+ => [
66
+
67
+ "b" => 2,
68
+
69
+ ]
70
+
71
+
72
+
73
+ >>> array_merge($array1, array_intersect_key($array2, $array1))
74
+
75
+ => [
76
+
77
+ "a" => 1,
78
+
79
+ "b" => 2,
80
+
81
+ ]
82
+
53
83
  ```
84
+
85
+
86
+
87
+ array_intersect_keyを使えば重複分が取れるので、
88
+
89
+ それを使って取れた配列を使ってarray_mergeで完了ですね。
90
+
91
+ 1行で出来るじゃん、楽勝。
92
+
93
+
94
+
95
+ ```PHP
96
+
97
+ array_merge($array1, array_intersect_key($array2, $array1));
98
+
99
+ ```
100
+
101
+
102
+
103
+ 無駄なfor文は一切不要です。
104
+
105
+ PHPのエンジニアの実力は配列関数を覚えている数で決まるので、
106
+
107
+ 沢山眺めて使いこなせるようにしましょう。