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

回答編集履歴

5

修正

2016/11/09 06:29

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -1,4 +1,4 @@
1
- かなり難しい質問ですね。。。
1
+ 難しい質問ですね。。。
2
2
 
3
3
  > 1
4
4
 
@@ -42,6 +42,6 @@
42
42
 
43
43
  いつのまにかarray_walkとforeach比較の回答になってました、重要な点
44
44
 
45
- > array_walkの意味がないような気がしてならないのですが、どのようなケースを想定してる関数(これでなくては処理できない?)なのでしょうか?
45
+ > 配列の値やkeyに関数を適用する意図があって作られたwalkやmapであると理解しているのですが、array_walkの意味がないような気がしてならないのですが、どのようなケースを想定してる関数(これでなくては処理できない?)なのでしょうか?
46
46
 
47
47
  に関しては大きな違いは1にある通り元の配列も残すか、残さないかの違いです。これは大きな違いで配列の各要素になんらかの処理をしたい(ここまでは同じ)が元の配列も後でつかうので残しておかなくてはならないならmap、上書き上書きで後ろを振り向かなくていいならwalkといったところでしょうか。

4

追記

2016/11/09 06:29

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -37,3 +37,11 @@
37
37
 
38
38
  foreachの方が早いですね。。。。
39
39
  特に優位性見出せないです。
40
+
41
+ ###追記
42
+
43
+ いつのまにかarray_walkとforeach比較の回答になってました、重要な点
44
+
45
+ > array_walkの意味がないような気がしてならないのですが、どのようなケースを想定してる関数(これでなくては処理できない?)なのでしょうか?
46
+
47
+ に関しては大きな違いは1にある通り元の配列も残すか、残さないかの違いです。これは大きな違いで配列の各要素になんらかの処理をしたい(ここまでは同じ)が元の配列も後でつかうので残しておかなくてはならないならmap、上書き上書きで後ろを振り向かなくていいならwalkといったところでしょうか。

3

修正

2016/11/09 06:13

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -30,6 +30,10 @@
30
30
  ```
31
31
  ただし、こんな資料がありました。
32
32
  https://www.reddit.com/r/PHP/comments/1uuc34/quick_test_to_see_if_array_walk_is_better_than/
33
+ とか
34
+ https://eval.in/87941
35
+ https://eval.in/87942
36
+ とか
33
37
 
34
38
  foreachの方が早いですね。。。。
35
39
  特に優位性見出せないです。

2

修正

2016/11/09 06:08

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -31,8 +31,5 @@
31
31
  ただし、こんな資料がありました。
32
32
  https://www.reddit.com/r/PHP/comments/1uuc34/quick_test_to_see_if_array_walk_is_better_than/
33
33
 
34
- はるかに早いたとえば一番上のでは
35
- foreach: 0.00457811355591
34
+ foreachの方が早いですね。。。。
36
- array_walk: 4.29153442383E-5 -> 0.0000429153442383
37
-
38
- 100倍くらといったとこしょうか、
35
+ 特に優位性見出せないです。

1

追記

2016/11/09 06:04

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -31,4 +31,8 @@
31
31
  ただし、こんな資料がありました。
32
32
  https://www.reddit.com/r/PHP/comments/1uuc34/quick_test_to_see_if_array_walk_is_better_than/
33
33
 
34
- はるかに早い
34
+ はるかに早いたとえば一番上のでは
35
+ foreach: 0.00457811355591
36
+ array_walk: 4.29153442383E-5 -> 0.0000429153442383
37
+
38
+ 100倍くらいといったとこでしょうか、