import zend standard tests
[hiphop-php.git] / hphp / test / zend / bad / ext-standard-array / array_slice.php
blob6649844a952263ca4869017c636c24bf947de0ef
1 <?php
3 $var_array = array(
4 array(),
5 array(1,2,3,4,5,6,7,8,9),
6 array("One", "Two", "Three", "Four", "Five"),
7 array(6, "six", 7, "seven", 8, "eight", 9, "nine"),
8 array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee"),
9 array("1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => "five"),
10 array(1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five"),
11 array("f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2.4 => "float", "F" => "FFF",
12 "blank" => "", 3.7 => 3.7, 5.4 => 7, 6 => 8.6, '5' => "Five"),
13 array(12, "name", 'age', '45'),
14 array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array())
17 $num = 4;
18 $str = "john";
20 /* Zero args */
21 echo"\n*** Output for Zero Argument ***\n";
22 array_slice();
24 /* Single args */
25 echo"\n*** Output for Single array Argument ***\n";
26 array_slice($var_array);
28 /* More than valid no. of args (ie. >4 ) */
29 echo"\n*** Output for invalid number of Arguments ***\n";
30 array_slice($var_array, 2, 4, true, 3);
32 /* Scalar arg */
33 echo"\n*** Output for scalar Argument ***\n";
34 array_slice($num, 2);
36 /* String arg */
37 echo"\n*** Output for string Argument ***\n";
38 array_slice($str, 2);
40 $counter = 1;
41 foreach ($var_array as $sub_array)
43 /* variations with two arguments */
44 /* offset values >, < and = 0 */
46 echo"\n*** Iteration ".$counter." ***\n";
47 echo"\n*** Variation with first two Arguments ***\n";
48 var_dump ( array_slice($sub_array, 1) );
49 var_dump ( array_slice($sub_array, 0) );
50 var_dump ( array_slice($sub_array, -2) );
52 /* variations with three arguments */
53 /* offset value variations with length values */
54 echo"\n*** Variation with first three Arguments ***\n";
55 var_dump ( array_slice($sub_array, 1, 3) );
56 var_dump ( array_slice($sub_array, 1, 0) );
57 var_dump ( array_slice($sub_array, 1, -3) );
58 var_dump ( array_slice($sub_array, 0, 3) );
59 var_dump ( array_slice($sub_array, 0, 0) );
60 var_dump ( array_slice($sub_array, 0, -3) );
61 var_dump ( array_slice($sub_array, -2, 3) );
62 var_dump ( array_slice($sub_array, -2, 0 ) );
63 var_dump ( array_slice($sub_array, -2, -3) );
65 /* variations with four arguments */
66 /* offset value, length value and preserve_key values variation */
67 echo"\n*** Variation with first two arguments with preserve_key value TRUE ***\n";
68 var_dump ( array_slice($sub_array, 1, 3, true) );
69 var_dump ( array_slice($sub_array, 1, 0, true) );
70 var_dump ( array_slice($sub_array, 1, -3, true) );
71 var_dump ( array_slice($sub_array, 0, 3, true) );
72 var_dump ( array_slice($sub_array, 0, 0, true) );
73 var_dump ( array_slice($sub_array, 0, -3, true) );
74 var_dump ( array_slice($sub_array, -2, 3, true) );
75 var_dump ( array_slice($sub_array, -2, 0, true) );
76 var_dump ( array_slice($sub_array, -2, -3, true) );
77 $counter++;
80 /* variation of offset and length to point to same element */
81 echo"\n*** Typical Variation of offset and length Arguments ***\n";
82 var_dump (array_slice($var_array[2], 1, -3, true) );
83 var_dump (array_slice($var_array[2], 1, -3, false) );
84 var_dump (array_slice($var_array[2], -3, -2, true) );
85 var_dump (array_slice($var_array[2], -3, -2, false) );