回答編集履歴

1

蛇足

2018/02/01 03:51

投稿

yambejp
yambejp

スコア114892

test CHANGED
@@ -31,3 +31,49 @@
31
31
  print_r($b);
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ # 蛇足
38
+
39
+
40
+
41
+ ちなみに再帰処理は危険をはらんでいますので以下のようなことは
42
+
43
+ やってはいけません
44
+
45
+
46
+
47
+ ```PHP
48
+
49
+ $a=[
50
+
51
+ ];
52
+
53
+ $a[]="test";
54
+
55
+ $c=&$a;
56
+
57
+ $a[]=$c;
58
+
59
+ print_r($a);
60
+
61
+ /*
62
+
63
+ ここまでは可能
64
+
65
+ 以下、メモリ上限まで探し続ける
66
+
67
+ */
68
+
69
+ $b=[];
70
+
71
+ array_walk_recursive($a,function($x) use(&$b){
72
+
73
+ $b[]=$x;
74
+
75
+ });
76
+
77
+ print_r($b);
78
+
79
+ ```