1--TEST--
2Test array_walk_recursive() function : usage variations - 'input' array with different values
3--FILE--
4<?php
5/*
6 * Testing array_walk_recursive() with following types of 'input' arrays:
7 *    integer, float, string, bool, null, empty & mixed
8*/
9
10function print_value($value, $key, $count)
11{
12  echo  $count." : ".$key." ".$value."\n";
13}
14
15echo "*** Testing array_walk_recursive() : 'input' array with different values***\n";
16
17// different arrays as input
18$input_values = array(
19
20       // integer values
21/*1*/  array(array(1, 0, -10), array(023, -041), array(0x5A, 0X1F, -0x6E)),
22
23       // float value
24       array(array(3.4, 0.8, -2.9), array(6.25e2, 8.20E-3)),
25
26       // string values
27       array('Mango', array("Apple", 'Orange', "Lemon")),
28
29       // bool values
30/*4*/  array( array(true, false), array(TRUE, FALSE)),
31
32       // null values
33       array( array(null), array(NULL)),
34
35       // empty array
36       array(),
37
38       // binary array
39       array(array(b'binary')),
40
41       // mixed array
42/*8*/  array(16, 8.345, array("Fruits"), array(true, null), array(FALSE), array(-98, 0.005, 'banana'))
43);
44
45for($count = 0; $count < count($input_values); $count++) {
46  echo "\n-- Iteration ".($count + 1)." --\n";
47  var_dump( array_walk_recursive($input_values[$count], "print_value", $count+1));
48}
49echo "Done"
50?>
51--EXPECT--
52*** Testing array_walk_recursive() : 'input' array with different values***
53
54-- Iteration 1 --
551 : 0 1
561 : 1 0
571 : 2 -10
581 : 0 19
591 : 1 -33
601 : 0 90
611 : 1 31
621 : 2 -110
63bool(true)
64
65-- Iteration 2 --
662 : 0 3.4
672 : 1 0.8
682 : 2 -2.9
692 : 0 625
702 : 1 0.0082
71bool(true)
72
73-- Iteration 3 --
743 : 0 Mango
753 : 0 Apple
763 : 1 Orange
773 : 2 Lemon
78bool(true)
79
80-- Iteration 4 --
814 : 0 1
824 : 1
834 : 0 1
844 : 1
85bool(true)
86
87-- Iteration 5 --
885 : 0
895 : 0
90bool(true)
91
92-- Iteration 6 --
93bool(true)
94
95-- Iteration 7 --
967 : 0 binary
97bool(true)
98
99-- Iteration 8 --
1008 : 0 16
1018 : 1 8.345
1028 : 0 Fruits
1038 : 0 1
1048 : 1
1058 : 0
1068 : 0 -98
1078 : 1 0.005
1088 : 2 banana
109bool(true)
110Done
111