import zend standard tests
[hiphop-php.git] / hphp / test / zend / bad / ext-standard-array / array_udiff_assoc_variation4.php
blob7d97d19feabe8c2b15438a3d3ba6b586146b3d48
1 <?php
2 /* Prototype : array array_udiff_assoc(array arr1, array arr2 [, array ...], callback key_comp_func)
3 * Description: Returns the entries of arr1 that have values which are not present in any of the others arguments but do additional checks whether the keys are equal. Keys are compared by user supplied function.
4 * Source code: ext/standard/array.c
5 * Alias to functions:
6 */
8 echo "*** Testing array_udiff_assoc() : usage variation ***\n";
10 // Initialise function arguments not being substituted (if any)
11 $arr1 = array(1, 2);
12 $arr2 = array(1, 2);
14 include('compare_function.inc');
15 $key_comp_func = 'compare_function';
17 //get an unset variable
18 $unset_var = 10;
19 unset ($unset_var);
21 // define some classes
22 class classWithToString
24 public function __toString() {
25 return "Class A object";
29 class classWithoutToString
33 // heredoc string
34 $heredoc = <<<EOT
35 hello world
36 EOT;
38 // add arrays
39 $index_array = array (1, 2, 3);
40 $assoc_array = array ('one' => 1, 'two' => 2);
42 //array of values to iterate over
43 $inputs = array(
45 // int data
46 'int 0' => 0,
47 'int 1' => 1,
48 'int 12345' => 12345,
49 'int -12345' => -2345,
51 // float data
52 'float 10.5' => 10.5,
53 'float -10.5' => -10.5,
54 'float 12.3456789000e10' => 12.3456789000e10,
55 'float -12.3456789000e10' => -12.3456789000e10,
56 'float .5' => .5,
58 // null data
59 'uppercase NULL' => NULL,
60 'lowercase null' => null,
62 // boolean data
63 'lowercase true' => true,
64 'lowercase false' =>false,
65 'uppercase TRUE' =>TRUE,
66 'uppercase FALSE' =>FALSE,
68 // empty data
69 'empty string DQ' => "",
70 'empty string SQ' => '',
72 // string data
73 'string DQ' => "string",
74 'string SQ' => 'string',
75 'mixed case string' => "sTrInG",
76 'heredoc' => $heredoc,
78 // object data
79 'instance of classWithToString' => new classWithToString(),
80 'instance of classWithoutToString' => new classWithoutToString(),
82 // undefined data
83 'undefined var' => @$undefined_var,
85 // unset data
86 'unset var' => @$unset_var,
89 // loop through each element of the array for ...
91 foreach($inputs as $key =>$value) {
92 echo "\n--$key--\n";
93 var_dump( array_udiff_assoc($arr1, $arr2, $value, $key_comp_func) );
97 ===DONE===