kraghuba Fri Jan 4 14:04:26 2008 UTC Added files: (Branch: PHP_5_2) /php-src/ext/standard/tests/array array_diff_basic.phpt array_diff_variation9.phpt array_diff_error.phpt array_diff_variation2.phpt array_diff_variation8.phpt array_diff_variation4.phpt array_diff_variation7.phpt array_diff_variation6.phpt array_diff_variation5.phpt array_diff_variation1.phpt array_diff_variation10.phpt array_diff_variation3.phpt Log: New testcases for array_diff() function
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_basic.phpt +++ php-src/ext/standard/tests/array/array_diff_basic.phpt --TEST-- Test array_diff() function : basic functionality --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are not present * in any of the others arguments. * Source code: ext/standard/array.c */
/* * Test basic functionality of array_diff */ echo "*** Testing array_diff() : basic functionality ***\n"; //Test indexed array with integers as elements $array_int1 = array (1, 2, 3, 4); $array_int2 = array (3, 4, 5, 6); echo "-- Test indexed array with integers as elements --\n"; var_dump(array_diff($array_int1, $array_int2)); var_dump(array_diff($array_int2, $array_int1)); //Test indexed array with strings as elements $array_string1 = array ('one', 'two', 'three', 'four'); $array_string2 = array ('three', 'four', 'five', 'six'); echo "-- Test indexed array with strings as elements --\n"; var_dump(array_diff($array_string1, $array_string2)); var_dump(array_diff($array_string2, $array_string1)); //Test associative array with strings as keys and integers as elements $array_assoc_int1 = array ('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4); $array_assoc_int2 = array ('three' => 3, 'four' => 4, 'five' => 5, 'six' => 6); echo "-- Test associative array with strings as keys and integers as elements --\n"; var_dump(array_diff($array_assoc_int1, $array_assoc_int2)); var_dump(array_diff($array_assoc_int2, $array_assoc_int1)); //Test associative array with strings as keys and elements $array_assoc_str1 = array ('one' => 'un', 'two' => 'deux', 'three' => 'trois', 'four' => 'quatre'); $array_assoc_str2 = array ('three' => 'trois', 'four' => 'quatre', 'five' => 'cinq', 'six' => 'six'); echo "-- Test associative array with strings as keys and integers as elements --\n"; var_dump(array_diff($array_assoc_str1, $array_assoc_str2)); var_dump(array_diff($array_assoc_str2, $array_assoc_str1)); echo "-- Test array_diff with more than 2 arguments --\n"; var_dump(array_diff($array_int1, $array_int2, $array_string1, $array_string2)); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : basic functionality *** -- Test indexed array with integers as elements -- array(2) { [0]=> int(1) [1]=> int(2) } array(2) { [2]=> int(5) [3]=> int(6) } -- Test indexed array with strings as elements -- array(2) { [0]=> string(3) "one" [1]=> string(3) "two" } array(2) { [2]=> string(4) "five" [3]=> string(3) "six" } -- Test associative array with strings as keys and integers as elements -- array(2) { ["one"]=> int(1) ["two"]=> int(2) } array(2) { ["five"]=> int(5) ["six"]=> int(6) } -- Test associative array with strings as keys and integers as elements -- array(2) { ["one"]=> string(2) "un" ["two"]=> string(4) "deux" } array(2) { ["five"]=> string(4) "cinq" ["six"]=> string(3) "six" } -- Test array_diff with more than 2 arguments -- array(2) { [0]=> int(1) [1]=> int(2) } Done --UEXPECTF-- *** Testing array_diff() : basic functionality *** -- Test indexed array with integers as elements -- array(2) { [0]=> int(1) [1]=> int(2) } array(2) { [2]=> int(5) [3]=> int(6) } -- Test indexed array with strings as elements -- array(2) { [0]=> unicode(3) "one" [1]=> unicode(3) "two" } array(2) { [2]=> unicode(4) "five" [3]=> unicode(3) "six" } -- Test associative array with strings as keys and integers as elements -- array(2) { [u"one"]=> int(1) [u"two"]=> int(2) } array(2) { [u"five"]=> int(5) [u"six"]=> int(6) } -- Test associative array with strings as keys and integers as elements -- array(2) { [u"one"]=> unicode(2) "un" [u"two"]=> unicode(4) "deux" } array(2) { [u"five"]=> unicode(4) "cinq" [u"six"]=> unicode(3) "six" } -- Test array_diff with more than 2 arguments -- array(2) { [0]=> int(1) [1]=> int(2) } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation9.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation9.phpt +++ php-src/ext/standard/tests/array/array_diff_variation9.phpt --TEST-- Test array_diff() function : usage variations - multidimensional arrays --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of arr1 that have values which are * not present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test how array_diff() compares multidimensional arrays */ echo "*** Testing array_diff() : usage variations ***\n"; $array1 = array('sub_array1' => array (1, 2, 3), 'sub_array2' => array ('a', 'b', 'c')); $array2 = array('sub_arraya' => array (1, 3, 5), 'sub_arrayb' => array ('a', 'z', 'y')); echo "-- Compare two 2-D arrays --\n"; var_dump(array_diff($array1, $array2)); var_dump(array_diff($array2, $array1)); echo "\n-- Compare subarrays from two 2-D arrays --\n"; var_dump(array_diff($array1['sub_array1'], $array2['sub_arraya'])); var_dump(array_diff($array2['sub_arraya'], $array1['sub_array1'])); var_dump(array_diff($array1['sub_array2'], $array2['sub_arrayb'])); var_dump(array_diff($array2['sub_arrayb'], $array1['sub_array1'])); echo "\n-- Compare a subarray from one 2-D array and one 2-D array --\n"; var_dump(array_diff($array1['sub_array1'], $array2)); var_dump(array_diff($array1, $array2['sub_arraya'])); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** -- Compare two 2-D arrays -- Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(0) { } Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(0) { } -- Compare subarrays from two 2-D arrays -- array(1) { [1]=> int(2) } array(1) { [2]=> int(5) } array(2) { [1]=> string(1) "b" [2]=> string(1) "c" } array(3) { [0]=> string(1) "a" [1]=> string(1) "z" [2]=> string(1) "y" } -- Compare a subarray from one 2-D array and one 2-D array -- Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(2) { ["sub_array1"]=> array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } ["sub_array2"]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** -- Compare two 2-D arrays -- Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(0) { } Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(0) { } -- Compare subarrays from two 2-D arrays -- array(1) { [1]=> int(2) } array(1) { [2]=> int(5) } array(2) { [1]=> unicode(1) "b" [2]=> unicode(1) "c" } array(3) { [0]=> unicode(1) "a" [1]=> unicode(1) "z" [2]=> unicode(1) "y" } -- Compare a subarray from one 2-D array and one 2-D array -- Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d Notice: Array to string conversion in %s on line %d array(2) { [u"sub_array1"]=> array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } [u"sub_array2"]=> array(3) { [0]=> unicode(1) "a" [1]=> unicode(1) "b" [2]=> unicode(1) "c" } } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_error.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_error.phpt +++ php-src/ext/standard/tests/array/array_diff_error.phpt --TEST-- Test array_diff() function : error conditions - too few arguments passed to function --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are * not present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test array_diff with less than the expected number of arguments */ echo "*** Testing array_diff() : error conditions ***\n"; // Zero arguments echo "\n-- Testing array_diff() function with zero arguments --\n"; var_dump( array_diff() ); // Testing array_diff with one less than the expected number of arguments echo "\n-- Testing array_diff() function with less than expected no. of arguments --\n"; $arr1 = array(1, 2); var_dump( array_diff($arr1) ); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : error conditions *** -- Testing array_diff() function with zero arguments -- Warning: array_diff(): at least 2 parameters are required, 0 given in %s on line %d NULL -- Testing array_diff() function with less than expected no. of arguments -- Warning: array_diff(): at least 2 parameters are required, 1 given in %s on line %d NULL Done --UEXPECTF-- *** Testing array_diff() : error conditions *** -- Testing array_diff() function with zero arguments -- Warning: array_diff(): at least 2 parameters are required, 0 given in %s on line %d NULL -- Testing array_diff() function with less than expected no. of arguments -- Warning: array_diff(): at least 2 parameters are required, 1 given in %s on line %d NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation2.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation2.phpt +++ php-src/ext/standard/tests/array/array_diff_variation2.phpt --TEST-- Test array_diff() function : usage variations - unexpected values for 'arr2' argument --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are * not present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test array_diff by passing non array values in place of $arr2 */ echo "*** Testing array_diff() : usage variations ***\n"; $array = array(1, 2, 3); //get an unset variable $unset_var = 10; unset ($unset_var); // get a class class classA { public function __toString() { return "Class A object"; } } // heredoc string $heredoc = <<<EOT hello world EOT; // get a resource variable $fp = fopen(__FILE__, "r"); // unexpected values to be passed to $input argument $inputs = array( // int data /*1*/ 0, 1, 12345, -2345, // float data /*5*/ 10.5, -10.5, 12.3456789000e10, 12.3456789000E-10, .5, // null data /*10*/ NULL, null, // boolean data /*12*/ true, false, TRUE, FALSE, // empty data /*16*/ "", '', // string data /*18*/ "string", 'string', $heredoc, // binary data /*21*/ b"binary", (binary)"binary", // object data /*23*/ new classA(), // undefined data /*24*/ @$undefined_var, // unset data /*25*/ @$unset_var, // resource variable /*26*/ $fp ); // loop through each element of $inputs to check the behavior of array_diff $iterator = 1; foreach($inputs as $input) { echo "\n-- Iteration $iterator --"; var_dump( array_diff($array, $input)); $iterator++; }; fclose($fp); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** -- Iteration 1 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 2 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 3 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 4 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 5 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 6 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 7 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 8 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 9 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 10 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 11 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 12 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 13 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 14 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 15 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 16 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 17 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 18 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 19 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 20 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 21 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 22 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 23 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 24 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 25 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 26 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL Done --UEXPECTF-- *** Testing array_diff() : usage variations *** -- Iteration 1 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 2 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 3 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 4 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 5 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 6 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 7 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 8 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 9 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 10 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 11 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 12 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 13 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 14 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 15 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 16 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 17 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 18 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 19 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 20 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 21 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 22 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 23 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 24 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 25 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL -- Iteration 26 -- Warning: array_diff(): Argument #2 is not an array in %s on line %d NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation8.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation8.phpt +++ php-src/ext/standard/tests/array/array_diff_variation8.phpt --TEST-- Test array_diff() function : usage variations - associative arrays contianing different data types --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are * not present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test array_diff() with associative arrays containing different data types as values */ echo "*** Testing array_diff() : usage variations ***\n"; $array = array('a' => '1', 'b' => '2', 'c' => '3'); // get an unset variable $unset_var = 10; unset ($unset_var); // get a resource variable $fp = fopen(__FILE__, "r"); // get a class class classA { public function __toString() { return "Class A object"; } } // get a heredoc string $heredoc = <<<EOT Hello world EOT; // associative arrays with different values $inputs = array ( // arrays with integer values /*1*/ array('0' => 0, '1' => 0), array("one" => 1, 'two' => 2, "three" => 1, 4 => 1), // arrays with float values /*3*/ array("float1" => 2.3333, "float2" => 2.3333), array("f1" => 1.2, 'f2' => 3.33, 3 => 4.89999922839999, 'f4' => 1.2), // arrays with string values /*5*/ array(111 => "\tHello", "red" => "col\tor", 2 => "\v\fworld", 3.3 => "\tHello"), array(111 => '\tHello', "red" => 'col\tor', 2 => '\v\fworld', 3.3 => '\tHello'), array(1 => "hello", "heredoc" => $heredoc, $heredoc), // array with object, unset variable and resource variable /*8*/ array(11 => new classA(), "unset" => @$unset_var, "resource" => $fp, new classA(), $fp), ); // loop through each sub-array of $inputs to check the behavior of array_unique() $iterator = 1; foreach($inputs as $input) { echo "-- Iteration $iterator --\n"; var_dump( array_diff($array, $input) ); var_dump( array_diff($input, $array) ); $iterator++; } fclose($fp); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** -- Iteration 1 -- array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" } array(2) { [0]=> int(0) [1]=> int(0) } -- Iteration 2 -- array(1) { ["c"]=> string(1) "3" } array(0) { } -- Iteration 3 -- array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" } array(2) { ["float1"]=> float(2.3333) ["float2"]=> float(2.3333) } -- Iteration 4 -- array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" } array(4) { ["f1"]=> float(1.2) ["f2"]=> float(3.33) [3]=> float(4.8999992284) ["f4"]=> float(1.2) } -- Iteration 5 -- array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" } array(4) { [111]=> string(6) " Hello" ["red"]=> string(6) "col or" [2]=> string(7) "world" [3]=> string(6) " Hello" } -- Iteration 6 -- array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" } array(4) { [111]=> string(7) "\tHello" ["red"]=> string(7) "col\tor" [2]=> string(9) "\v\fworld" [3]=> string(7) "\tHello" } -- Iteration 7 -- array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" } array(3) { [1]=> string(5) "hello" ["heredoc"]=> string(11) "Hello world" [2]=> string(11) "Hello world" } -- Iteration 8 -- array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" } array(5) { [11]=> object(classA)#%d (0) { } ["unset"]=> NULL ["resource"]=> resource(%d) of type (stream) [12]=> object(classA)#%d (0) { } [13]=> resource(%d) of type (stream) } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** -- Iteration 1 -- array(3) { [u"a"]=> unicode(1) "1" [u"b"]=> unicode(1) "2" [u"c"]=> unicode(1) "3" } array(2) { [0]=> int(0) [1]=> int(0) } -- Iteration 2 -- array(1) { [u"c"]=> unicode(1) "3" } array(0) { } -- Iteration 3 -- array(3) { [u"a"]=> unicode(1) "1" [u"b"]=> unicode(1) "2" [u"c"]=> unicode(1) "3" } array(2) { [u"float1"]=> float(2.3333) [u"float2"]=> float(2.3333) } -- Iteration 4 -- array(3) { [u"a"]=> unicode(1) "1" [u"b"]=> unicode(1) "2" [u"c"]=> unicode(1) "3" } array(4) { [u"f1"]=> float(1.2) [u"f2"]=> float(3.33) [3]=> float(4.8999992284) [u"f4"]=> float(1.2) } -- Iteration 5 -- array(3) { [u"a"]=> unicode(1) "1" [u"b"]=> unicode(1) "2" [u"c"]=> unicode(1) "3" } array(4) { [111]=> unicode(6) " Hello" [u"red"]=> unicode(6) "col or" [2]=> unicode(7) "world" [3]=> unicode(6) " Hello" } -- Iteration 6 -- array(3) { [u"a"]=> unicode(1) "1" [u"b"]=> unicode(1) "2" [u"c"]=> unicode(1) "3" } array(4) { [111]=> unicode(7) "\tHello" [u"red"]=> unicode(7) "col\tor" [2]=> unicode(9) "\v\fworld" [3]=> unicode(7) "\tHello" } -- Iteration 7 -- array(3) { [u"a"]=> unicode(1) "1" [u"b"]=> unicode(1) "2" [u"c"]=> unicode(1) "3" } array(3) { [1]=> unicode(5) "hello" [u"heredoc"]=> unicode(11) "Hello world" [2]=> unicode(11) "Hello world" } -- Iteration 8 -- array(3) { [u"a"]=> unicode(1) "1" [u"b"]=> unicode(1) "2" [u"c"]=> unicode(1) "3" } array(5) { [11]=> object(classA)#%d (0) { } [u"unset"]=> NULL [u"resource"]=> resource(%d) of type (stream) [12]=> object(classA)#%d (0) { } [13]=> resource(5) of type (stream) } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation4.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation4.phpt +++ php-src/ext/standard/tests/array/array_diff_variation4.phpt --TEST-- Test array_diff() function : usage variations - array with different data types as values --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are not * present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test how array_diff() compares indexed arrays containing different * data types as values in place of $arr2 */ echo "*** Testing array_diff() : usage variations ***\n"; // Initialise function arguments not being substituted (if any) $array = array(1, 2); //get an unset variable $unset_var = 10; unset ($unset_var); //get heredoc $heredoc = <<<END This is a heredoc END; //array of values to iterate over $values = array( /*1*/"empty array" => array(), /*2*/ "int" => array( // int data 0, 1, 12345, -2345), /*3*/ "float" => array( // float data 10.5, -10.5, 12.3456789000e10, 12.3456789000E-10, .5), /*4*/ "null" => array( // null data NULL, null), /*5*/ "boolean" => array( // boolean data true, false, TRUE, FALSE), /*6*/ "empty" => array( // empty data "", ''), /*7*/ "string" => array( // string data "string", 'string', $heredoc), /*8*/ "binary" => array( // binary data b"binary", (binary)"binary"), /*9*/ "undefined" => array( // undefined data @$undefined_var), /*10*/ "unset" => array( // unset data @$unset_var) ); // loop through each element of the array for $arr2 $iterator = 1; foreach($values as $value) { echo "\n Iteration: $iterator \n"; var_dump( array_diff($array, $value) ); $iterator++; }; echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** Iteration: 1 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 2 array(1) { [1]=> int(2) } Iteration: 3 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 4 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 5 array(1) { [1]=> int(2) } Iteration: 6 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 7 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 8 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 9 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 10 array(2) { [0]=> int(1) [1]=> int(2) } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** Iteration: 1 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 2 array(1) { [1]=> int(2) } Iteration: 3 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 4 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 5 array(1) { [1]=> int(2) } Iteration: 6 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 7 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 8 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 9 array(2) { [0]=> int(1) [1]=> int(2) } Iteration: 10 array(2) { [0]=> int(1) [1]=> int(2) } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation7.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation7.phpt +++ php-src/ext/standard/tests/array/array_diff_variation7.phpt --TEST-- Test array_diff() function : usage variations - arrays containing referenced variables --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are not * present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test how array_diff compares arrays that * 1. Contain referenced variables * 2. Have been referenced to each other */ echo "*** Testing array_diff() : usage variations ***\n"; $a = 'a'; $arr1 = array ("&$a", 'b', 'c'); $arr2 = array (1, 2, 3); echo "-- Basic Comparison --\n"; var_dump(array_diff($arr1, $arr2)); var_dump(array_diff($arr2, $arr1)); $a = 1; echo "-- \$a changed --\n"; var_dump(array_diff($arr1, $arr2)); var_dump(array_diff($arr2, $arr1)); $arr2 = &$arr1; echo "-- Arrays referenced to each other --\n"; var_dump(array_diff($arr1, $arr2)); var_dump(array_diff($arr2, $arr1)); $arr1 = array('x', 'y', 'z'); echo "-- \$arr1 changed --\n"; var_dump(array_diff($arr1, $arr2)); var_dump(array_diff($arr2, $arr1)); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** -- Basic Comparison -- array(3) { [0]=> string(2) "&a" [1]=> string(1) "b" [2]=> string(1) "c" } array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } -- $a changed -- array(3) { [0]=> string(2) "&a" [1]=> string(1) "b" [2]=> string(1) "c" } array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } -- Arrays referenced to each other -- array(0) { } array(0) { } -- $arr1 changed -- array(0) { } array(0) { } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** -- Basic Comparison -- array(3) { [0]=> unicode(2) "&a" [1]=> unicode(1) "b" [2]=> unicode(1) "c" } array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } -- $a changed -- array(3) { [0]=> unicode(2) "&a" [1]=> unicode(1) "b" [2]=> unicode(1) "c" } array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } -- Arrays referenced to each other -- array(0) { } array(0) { } -- $arr1 changed -- array(0) { } array(0) { } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation6.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation6.phpt +++ php-src/ext/standard/tests/array/array_diff_variation6.phpt --TEST-- Test array_diff() function : usage variations - array containing duplicate keys and values --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are not * present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test that array_diff behaves as expected for comparing: * 1. the order of the array * 2. duplicate values * 3. duplicate key names */ echo "*** Testing array_diff() : usage variations ***\n"; $array_index = array('a', 'b', 'c', 0 => 'd', 'b'); //duplicate key (0), duplicate value (b) $array_assoc = array ('2' => 'c', //same key=>value pair, different order '1' => 'b', '0' => 'a', 'b' => '3', //key and value from array_index swapped 'c' => 2); //same as above, using integer var_dump(array_diff($array_index, $array_assoc)); var_dump(array_diff($array_assoc, $array_index)); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** array(1) { [0]=> string(1) "d" } array(3) { [0]=> string(1) "a" ["b"]=> string(1) "3" ["c"]=> int(2) } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** array(1) { [0]=> unicode(1) "d" } array(3) { [0]=> unicode(1) "a" [u"b"]=> unicode(1) "3" [u"c"]=> int(2) } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation5.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation5.phpt +++ php-src/ext/standard/tests/array/array_diff_variation5.phpt --TEST-- Test array_diff() function : usage variations - comparing integers, float and string array values --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are not * present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test how array_diff compares integers, floats and strings */ echo "*** Testing array_diff() : usage variations ***\n"; $arr_int = array(1, 2, 3); $arr_float = array(1.00, 2.00, 3.00); $arr_int_str = array('1', '2', '3'); $arr_float_str = array('1.00', '2.00', '3.00'); print "-- Compare integers and floats: --\n"; var_dump(array_diff($arr_int, $arr_float)); var_dump(array_diff($arr_float, $arr_int)); print "-- Compare integers and strings containing an integers: --\n"; var_dump(array_diff($arr_int, $arr_int_str)); var_dump(array_diff($arr_int_str, $arr_int)); print "-- Compare integers and strings containing floats: --\n"; var_dump(array_diff($arr_int, $arr_float_str)); var_dump(array_diff($arr_float_str, $arr_int)); print "-- Compare floats and strings containing integers: --\n"; var_dump(array_diff($arr_float, $arr_int_str)); var_dump(array_diff($arr_int_str, $arr_float)); print "-- Compare floats and strings containing floats: --\n"; var_dump(array_diff($arr_float, $arr_float_str)); var_dump(array_diff($arr_float_str, $arr_float)); print "-- Compare strings containing integers and strings containing floats: --\n"; var_dump(array_diff($arr_int_str, $arr_float_str)); var_dump(array_diff($arr_float_str, $arr_int_str)); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** -- Compare integers and floats: -- array(0) { } array(0) { } -- Compare integers and strings containing an integers: -- array(0) { } array(0) { } -- Compare integers and strings containing floats: -- array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } array(3) { [0]=> string(4) "1.00" [1]=> string(4) "2.00" [2]=> string(4) "3.00" } -- Compare floats and strings containing integers: -- array(0) { } array(0) { } -- Compare floats and strings containing floats: -- array(3) { [0]=> float(1) [1]=> float(2) [2]=> float(3) } array(3) { [0]=> string(4) "1.00" [1]=> string(4) "2.00" [2]=> string(4) "3.00" } -- Compare strings containing integers and strings containing floats: -- array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" } array(3) { [0]=> string(4) "1.00" [1]=> string(4) "2.00" [2]=> string(4) "3.00" } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** -- Compare integers and floats: -- array(0) { } array(0) { } -- Compare integers and strings containing an integers: -- array(0) { } array(0) { } -- Compare integers and strings containing floats: -- array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } array(3) { [0]=> unicode(4) "1.00" [1]=> unicode(4) "2.00" [2]=> unicode(4) "3.00" } -- Compare floats and strings containing integers: -- array(0) { } array(0) { } -- Compare floats and strings containing floats: -- array(3) { [0]=> float(1) [1]=> float(2) [2]=> float(3) } array(3) { [0]=> unicode(4) "1.00" [1]=> unicode(4) "2.00" [2]=> unicode(4) "3.00" } -- Compare strings containing integers and strings containing floats: -- array(3) { [0]=> unicode(1) "1" [1]=> unicode(1) "2" [2]=> unicode(1) "3" } array(3) { [0]=> unicode(4) "1.00" [1]=> unicode(4) "2.00" [2]=> unicode(4) "3.00" } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation1.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation1.phpt +++ php-src/ext/standard/tests/array/array_diff_variation1.phpt --TEST-- Test array_diff() function : usage variations - unexpected values for 'arr1' argument --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are not * present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test array_diff by passing non array values in place of $arr1 */ echo "*** Testing array_diff() : usage variations ***\n"; $array = array(1, 2, 3); //get an unset variable $unset_var = 10; unset ($unset_var); // get a class class classA { public function __toString() { return "Class A object"; } } // heredoc string $heredoc = <<<EOT hello world EOT; // get a resource variable $fp = fopen(__FILE__, "r"); // unexpected values to be passed to $input argument $inputs = array( // int data /*1*/ 0, 1, 12345, -2345, // float data /*5*/ 10.5, -10.5, 12.3456789000e10, 12.3456789000E-10, .5, // null data /*10*/ NULL, null, // boolean data /*12*/ true, false, TRUE, FALSE, // empty data /*16*/ "", '', // string data /*18*/ "string", 'string', $heredoc, // binary data /*21*/ b"binary", (binary)"binary", // object data /*23*/ new classA(), // undefined data /*24*/ @$undefined_var, // unset data /*25*/ @$unset_var, // resource variable /*26*/ $fp ); // loop through each element of $inputs to check the behavior of array_diff $iterator = 1; foreach($inputs as $input) { echo "\n-- Iteration $iterator --"; var_dump( array_diff($input, $array)); $iterator++; }; fclose($fp); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** -- Iteration 1 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 2 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 3 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 4 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 5 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 6 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 7 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 8 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 9 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 10 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 11 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 12 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 13 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 14 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 15 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 16 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 17 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 18 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 19 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 20 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 21 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 22 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 23 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 24 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 25 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 26 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL Done --UEXPECTF-- *** Testing array_diff() : usage variations *** -- Iteration 1 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 2 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 3 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 4 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 5 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 6 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 7 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 8 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 9 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 10 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 11 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 12 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 13 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 14 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 15 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 16 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 17 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 18 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 19 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 20 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 21 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 22 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 23 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 24 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 25 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL -- Iteration 26 -- Warning: array_diff(): Argument #1 is not an array in %s on line %d NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation10.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation10.phpt +++ php-src/ext/standard/tests/array/array_diff_variation10.phpt --TEST-- Test array_diff() function : usage variations - binary safe checking --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are * not present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test behaviour of array_diff() function with binary input */ echo "*** Testing array_diff() : usage variations ***\n"; $array1 = array( b"1", b"hello", "world", "str1" => "hello", "str2" => "world"); $array2 = array( b"1" => 'hello', b"world", "hello", 'test'); var_dump(array_diff($array1, $array2)); var_dump(array_diff($array2, $array1)); echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** array(1) { [0]=> string(1) "1" } array(1) { [4]=> string(4) "test" } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** array(1) { [0]=> string(1) "1" } array(1) { [4]=> unicode(4) "test" } Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_diff_variation3.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/array/array_diff_variation3.phpt +++ php-src/ext/standard/tests/array/array_diff_variation3.phpt --TEST-- Test array_diff() function : usage variations - array with different data types as values --FILE-- <?php /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) * Description: Returns the entries of $arr1 that have values which are not * present in any of the others arguments. * Source code: ext/standard/array.c */ /* * Test how array_diff() compares indexed arrays containing different * data types as values in place of $arr1 */ echo "*** Testing array_diff() : usage variations ***\n"; // Initialise function arguments not being substituted (if any) $array = array(1, 2); //get an unset variable $unset_var = 10; unset ($unset_var); //get heredoc $heredoc = <<<END This is a heredoc END; //array of values to iterate over $values = array( /*1*/"empty array" => array(), /*2*/ "int" => array( // int data 0, 1, 12345, -2345), /*3*/ "float" => array( // float data 10.5, -10.5, 12.3456789000e10, 12.3456789000E-10, .5), /*4*/ "null" => array( // null data NULL, null), /*5*/ "boolean" => array( // boolean data true, false, TRUE, FALSE), /*6*/ "empty" => array( // empty data "", ''), /*7*/ "string" => array( // string data "string", 'string', $heredoc), /*8*/ "binary" => array( // binary data b"binary", (binary)"binary"), /*9*/ "undefined" => array( // undefined data @$undefined_var), /*10*/ "unset" => array( // unset data @$unset_var) ); // loop through each element of the array for arr1 $iterator = 1; foreach($values as $value) { echo "\n Iteration: $iterator \n"; var_dump( array_diff($value, $array) ); $iterator++; }; echo "Done"; ?> --EXPECTF-- *** Testing array_diff() : usage variations *** Iteration: 1 array(0) { } Iteration: 2 array(3) { [0]=> int(0) [2]=> int(12345) [3]=> int(-2345) } Iteration: 3 array(5) { [0]=> float(10.5) [1]=> float(-10.5) [2]=> float(123456789000) [3]=> float(1.23456789E-9) [4]=> float(0.5) } Iteration: 4 array(2) { [0]=> NULL [1]=> NULL } Iteration: 5 array(2) { [1]=> bool(false) [3]=> bool(false) } Iteration: 6 array(2) { [0]=> string(0) "" [1]=> string(0) "" } Iteration: 7 array(3) { [0]=> string(6) "string" [1]=> string(6) "string" [2]=> string(17) "This is a heredoc" } Iteration: 8 array(2) { [0]=> string(6) "binary" [1]=> string(6) "binary" } Iteration: 9 array(1) { [0]=> NULL } Iteration: 10 array(1) { [0]=> NULL } Done --UEXPECTF-- *** Testing array_diff() : usage variations *** Iteration: 1 array(0) { } Iteration: 2 array(3) { [0]=> int(0) [2]=> int(12345) [3]=> int(-2345) } Iteration: 3 array(5) { [0]=> float(10.5) [1]=> float(-10.5) [2]=> float(123456789000) [3]=> float(1.23456789E-9) [4]=> float(0.5) } Iteration: 4 array(2) { [0]=> NULL [1]=> NULL } Iteration: 5 array(2) { [1]=> bool(false) [3]=> bool(false) } Iteration: 6 array(2) { [0]=> unicode(0) "" [1]=> unicode(0) "" } Iteration: 7 array(3) { [0]=> unicode(6) "string" [1]=> unicode(6) "string" [2]=> unicode(17) "This is a heredoc" } Iteration: 8 array(2) { [0]=> string(6) "binary" [1]=> string(6) "binary" } Iteration: 9 array(1) { [0]=> NULL } Iteration: 10 array(1) { [0]=> NULL } Done
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php