2 Testing array_slice() function
8 array(1,2,3,4,5,6,7,8,9),
9 array("One", "Two", "Three", "Four", "Five"),
10 array(6, "six", 7, "seven", 8, "eight", 9, "nine"),
11 array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee"),
12 array("1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => "five"),
13 array(1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five"),
14 array("f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2.4 => "float", "F" => "FFF",
15 "blank" => "", 3.7 => 3.7, 5.4 => 7, 6 => 8.6, '5' => "Five"),
16 array(12, "name", 'age', '45'),
17 array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array())
24 foreach ($var_array as $sub_array)
26 /* variations with two arguments */
27 /* offset values >, < and = 0 */
29 echo"\n*** Iteration ".$counter." ***\n";
30 echo"\n*** Variation with first two Arguments ***\n";
31 var_dump ( array_slice($sub_array, 1) );
32 var_dump ( array_slice($sub_array, 0) );
33 var_dump ( array_slice($sub_array, -2) );
35 /* variations with three arguments */
36 /* offset value variations with length values */
37 echo"\n*** Variation with first three Arguments ***\n";
38 var_dump ( array_slice($sub_array, 1, 3) );
39 var_dump ( array_slice($sub_array, 1, 0) );
40 var_dump ( array_slice($sub_array, 1, -3) );
41 var_dump ( array_slice($sub_array, 0, 3) );
42 var_dump ( array_slice($sub_array, 0, 0) );
43 var_dump ( array_slice($sub_array, 0, -3) );
44 var_dump ( array_slice($sub_array, -2, 3) );
45 var_dump ( array_slice($sub_array, -2, 0 ) );
46 var_dump ( array_slice($sub_array, -2, -3) );
48 /* variations with four arguments */
49 /* offset value, length value and preserve_key values variation */
50 echo"\n*** Variation with first two arguments with preserve_key value TRUE ***\n";
51 var_dump ( array_slice($sub_array, 1, 3, true) );
52 var_dump ( array_slice($sub_array, 1, 0, true) );
53 var_dump ( array_slice($sub_array, 1, -3, true) );
54 var_dump ( array_slice($sub_array, 0, 3, true) );
55 var_dump ( array_slice($sub_array, 0, 0, true) );
56 var_dump ( array_slice($sub_array, 0, -3, true) );
57 var_dump ( array_slice($sub_array, -2, 3, true) );
58 var_dump ( array_slice($sub_array, -2, 0, true) );
59 var_dump ( array_slice($sub_array, -2, -3, true) );
63 /* variation of offset and length to point to same element */
64 echo"\n*** Typical Variation of offset and length Arguments ***\n";
65 var_dump (array_slice($var_array[2], 1, -3, true) );
66 var_dump (array_slice($var_array[2], 1, -3, false) );
67 var_dump (array_slice($var_array[2], -3, -2, true) );
68 var_dump (array_slice($var_array[2], -3, -2, false) );
74 *** Variation with first two Arguments ***
82 *** Variation with first three Arguments ***
102 *** Variation with first two arguments with preserve_key value TRUE ***
124 *** Variation with first two Arguments ***
170 *** Variation with first three Arguments ***
228 *** Variation with first two arguments with preserve_key value TRUE ***
288 *** Variation with first two Arguments ***
318 *** Variation with first three Arguments ***
360 *** Variation with first two arguments with preserve_key value TRUE ***
404 *** Variation with first two Arguments ***
446 *** Variation with first three Arguments ***
500 *** Variation with first two arguments with preserve_key value TRUE ***
556 *** Variation with first two Arguments ***
586 *** Variation with first three Arguments ***
628 *** Variation with first two arguments with preserve_key value TRUE ***
672 *** Variation with first two Arguments ***
702 *** Variation with first three Arguments ***
744 *** Variation with first two arguments with preserve_key value TRUE ***
788 *** Variation with first two Arguments ***
818 *** Variation with first three Arguments ***
860 *** Variation with first two arguments with preserve_key value TRUE ***
904 *** Variation with first two Arguments ***
954 *** Variation with first three Arguments ***
1016 *** Variation with first two arguments with preserve_key value TRUE ***
1080 *** Variation with first two Arguments ***
1106 *** Variation with first three Arguments ***
1144 *** Variation with first two arguments with preserve_key value TRUE ***
1182 *** Iteration 10 ***
1184 *** Variation with first two Arguments ***
1249 *** Variation with first three Arguments ***
1326 *** Variation with first two arguments with preserve_key value TRUE ***
1403 *** Typical Variation of offset and length Arguments ***