回答編集履歴

5

修正

2016/11/09 06:29

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -1,4 +1,4 @@
1
- かなり難しい質問ですね。。。
1
+ 難しい質問ですね。。。
2
2
 
3
3
 
4
4
 
@@ -86,7 +86,7 @@
86
86
 
87
87
 
88
88
 
89
- > array_walkの意味がないような気がしてならないのですが、どのようなケースを想定してる関数(これでなくては処理できない?)なのでしょうか?
89
+ > 配列の値やkeyに関数を適用する意図があって作られたwalkやmapであると理解しているのですが、array_walkの意味がないような気がしてならないのですが、どのようなケースを想定してる関数(これでなくては処理できない?)なのでしょうか?
90
90
 
91
91
 
92
92
 

4

追記

2016/11/09 06:29

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -77,3 +77,17 @@
77
77
  特に優位性見出せないです。
78
78
 
79
79
 
80
+
81
+ ###追記
82
+
83
+
84
+
85
+ いつのまにかarray_walkとforeach比較の回答になってました、重要な点
86
+
87
+
88
+
89
+ > array_walkの意味がないような気がしてならないのですが、どのようなケースを想定してる関数(これでなくては処理できない?)なのでしょうか?
90
+
91
+
92
+
93
+ に関しては大きな違いは1にある通り元の配列も残すか、残さないかの違いです。これは大きな違いで配列の各要素になんらかの処理をしたい(ここまでは同じ)が元の配列も後でつかうので残しておかなくてはならないならmap、上書き上書きで後ろを振り向かなくていいならwalkといったところでしょうか。

3

修正

2016/11/09 06:13

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -62,6 +62,14 @@
62
62
 
63
63
  https://www.reddit.com/r/PHP/comments/1uuc34/quick_test_to_see_if_array_walk_is_better_than/
64
64
 
65
+ とか
66
+
67
+ https://eval.in/87941
68
+
69
+ https://eval.in/87942
70
+
71
+ とか
72
+
65
73
 
66
74
 
67
75
  foreachの方が早いですね。。。。

2

修正

2016/11/09 06:08

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -64,12 +64,8 @@
64
64
 
65
65
 
66
66
 
67
- はるかに早いたとえば一番上の
67
+ foreachの方が早いですね。。。。
68
68
 
69
- foreach: 0.00457811355591
69
+ 特に優位性見出せないです。
70
-
71
- array_walk: 4.29153442383E-5 -> 0.0000429153442383
72
70
 
73
71
 
74
-
75
- 100倍くらいといったとこでしょうか、

1

追記

2016/11/09 06:04

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -64,4 +64,12 @@
64
64
 
65
65
 
66
66
 
67
- はるかに早い
67
+ はるかに早いたとえば一番上のでは
68
+
69
+ foreach: 0.00457811355591
70
+
71
+ array_walk: 4.29153442383E-5 -> 0.0000429153442383
72
+
73
+
74
+
75
+ 100倍くらいといったとこでしょうか、