@@ -7,89 +7,90 @@ swoole_library/array/walk: array_walk_closure.phptarray_walk() closure tests
7
7
require __DIR__ . '/../../../include/bootstrap.php ' ;
8
8
9
9
Swoole \Runtime::enableCoroutine ();
10
-
11
- $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
12
- var_dump (array_walk ($ ar , function () { var_dump (func_get_args ()); }));
13
-
14
- echo "\nclosure with array \n" ;
15
- $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
16
- $ user_data = ["sum " => 42 ];
17
- $ func = function ($ value , $ key , &$ udata ) {
18
- var_dump ($ udata );
19
- $ udata ["sum " ] += $ value ;
20
- };
21
-
22
- var_dump (array_walk ($ ar , $ func , $ user_data ));
23
- echo "End result: " ;
24
- var_dump ($ user_data ["sum " ]);
25
-
26
- echo "\nclosure with use \n" ;
27
- $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
28
- $ user_data = ["sum " => 42 ];
29
- $ func = function ($ value , $ key ) use (&$ user_data ) {
30
- var_dump ($ user_data );
31
- $ user_data ["sum " ] += $ value ;
32
- };
33
-
34
- var_dump (array_walk ($ ar , $ func , $ user_data ));
35
- echo "End result: " ;
36
- var_dump ($ user_data ["sum " ]);
37
-
38
-
39
- echo "\nclosure with object \n" ;
40
- $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
41
- $ user_data = (object )["sum " => 42 ];
42
- $ func = function ($ value , $ key , &$ udata ) {
43
- var_dump ($ udata );
44
- $ udata ->sum += $ value ;
45
- };
46
-
47
- var_dump (array_walk ($ ar , $ func , $ user_data ));
48
- echo "End result: " ;
49
- var_dump ($ user_data ->sum );
50
-
51
-
52
- echo "\nfunction with object \n" ;
53
- function sum_it_up_object ($ value , $ key , $ udata )
54
- {
55
- var_dump ($ udata );
56
- $ udata ->sum += $ value ;
57
- }
58
-
59
- $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
60
- $ user_data = (object )["sum " => 42 ];
61
-
62
- var_dump (array_walk ($ ar , "sum_it_up_object " , $ user_data ));
63
- echo "End result: " ;
64
- var_dump ($ user_data ->sum );
65
-
66
-
67
- echo "\nfunction with array \n" ;
68
- function sum_it_up_array ($ value , $ key , $ udata )
69
- {
70
- var_dump ($ udata );
71
- $ udata ['sum ' ] += $ value ;
72
- }
73
-
74
- $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
75
- $ user_data = ["sum " => 42 ];
76
-
77
- var_dump (array_walk ($ ar , "sum_it_up_array " , $ user_data ));
78
- echo "End result: " ;
79
- var_dump ($ user_data ['sum ' ]);
80
-
81
- echo "closure and exception \n" ;
82
- $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
83
- Assert::throws (function () {
84
- var_dump (array_walk ($ ar , function ($ v , $ k ) {
85
- if ($ v == 2 ) {
86
- throw new Exception ;
87
- }
88
- }));
89
- }, TypeError::class);
90
-
91
-
92
- echo "Done \n" ;
10
+ go (function (){
11
+ $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
12
+ var_dump (array_walk ($ ar , function () { var_dump (func_get_args ()); }));
13
+
14
+ echo "\nclosure with array \n" ;
15
+ $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
16
+ $ user_data = ["sum " => 42 ];
17
+ $ func = function ($ value , $ key , &$ udata ) {
18
+ var_dump ($ udata );
19
+ $ udata ["sum " ] += $ value ;
20
+ };
21
+
22
+ var_dump (array_walk ($ ar , $ func , $ user_data ));
23
+ echo "End result: " ;
24
+ var_dump ($ user_data ["sum " ]);
25
+
26
+ echo "\nclosure with use \n" ;
27
+ $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
28
+ $ user_data = ["sum " => 42 ];
29
+ $ func = function ($ value , $ key ) use (&$ user_data ) {
30
+ var_dump ($ user_data );
31
+ $ user_data ["sum " ] += $ value ;
32
+ };
33
+
34
+ var_dump (array_walk ($ ar , $ func , $ user_data ));
35
+ echo "End result: " ;
36
+ var_dump ($ user_data ["sum " ]);
37
+
38
+
39
+ echo "\nclosure with object \n" ;
40
+ $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
41
+ $ user_data = (object )["sum " => 42 ];
42
+ $ func = function ($ value , $ key , &$ udata ) {
43
+ var_dump ($ udata );
44
+ $ udata ->sum += $ value ;
45
+ };
46
+
47
+ var_dump (array_walk ($ ar , $ func , $ user_data ));
48
+ echo "End result: " ;
49
+ var_dump ($ user_data ->sum );
50
+
51
+
52
+ echo "\nfunction with object \n" ;
53
+ function sum_it_up_object ($ value , $ key , $ udata )
54
+ {
55
+ var_dump ($ udata );
56
+ $ udata ->sum += $ value ;
57
+ }
58
+
59
+ $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
60
+ $ user_data = (object )["sum " => 42 ];
61
+
62
+ var_dump (array_walk ($ ar , "sum_it_up_object " , $ user_data ));
63
+ echo "End result: " ;
64
+ var_dump ($ user_data ->sum );
65
+
66
+
67
+ echo "\nfunction with array \n" ;
68
+ function sum_it_up_array ($ value , $ key , $ udata )
69
+ {
70
+ var_dump ($ udata );
71
+ $ udata ['sum ' ] += $ value ;
72
+ }
73
+
74
+ $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
75
+ $ user_data = ["sum " => 42 ];
76
+
77
+ var_dump (array_walk ($ ar , "sum_it_up_array " , $ user_data ));
78
+ echo "End result: " ;
79
+ var_dump ($ user_data ['sum ' ]);
80
+
81
+ echo "closure and exception \n" ;
82
+ $ ar = ["one " => 1 , "two " => 2 , "three " => 3 ];
83
+ Assert::throws (function () {
84
+ var_dump (array_walk ($ ar , function ($ v , $ k ) {
85
+ if ($ v == 2 ) {
86
+ throw new Exception ;
87
+ }
88
+ }));
89
+ }, TypeError::class);
90
+
91
+
92
+ echo "Done \n" ;
93
+ });
93
94
?>
94
95
--EXPECTF--
95
96
array(2) {
0 commit comments