1--TEST-- 2Test array_udiff_uassoc() function : usage variation 3--FILE-- 4<?php 5echo "*** Testing array_udiff_uassoc() : usage variation ***\n"; 6 7// Initialise function arguments not being substituted (if any) 8$array1 = array(1, 2); 9 10include('compare_function.inc'); 11$data_comp_func = 'compare_function'; 12$key_comp_func = 'compare_function'; 13 14//get an unset variable 15$unset_var = 10; 16unset ($unset_var); 17 18// define some classes 19class classWithToString 20{ 21 public function __toString() { 22 return "Class A object"; 23 } 24} 25 26class classWithoutToString 27{ 28} 29 30// heredoc string 31$heredoc = <<<EOT 32hello world 33EOT; 34 35// add arrays 36$index_array = array (1, 2, 3); 37$assoc_array = array ('one' => 1, 'two' => 2); 38 39//array of values to iterate over 40$inputs = array( 41 42 // int data 43 'int 0' => 0, 44 'int 1' => 1, 45 'int 12345' => 12345, 46 'int -12345' => -2345, 47 48 // float data 49 'float 10.5' => 10.5, 50 'float -10.5' => -10.5, 51 'float 12.3456789000e10' => 12.3456789000e10, 52 'float -12.3456789000e10' => -12.3456789000e10, 53 'float .5' => .5, 54 55 // null data 56 'uppercase NULL' => NULL, 57 'lowercase null' => null, 58 59 // boolean data 60 'lowercase true' => true, 61 'lowercase false' =>false, 62 'uppercase TRUE' =>TRUE, 63 'uppercase FALSE' =>FALSE, 64 65 // empty data 66 'empty string DQ' => "", 67 'empty string SQ' => '', 68 69 // string data 70 'string DQ' => "string", 71 'string SQ' => 'string', 72 'mixed case string' => "sTrInG", 73 'heredoc' => $heredoc, 74 75 // object data 76 'instance of classWithToString' => new classWithToString(), 77 'instance of classWithoutToString' => new classWithoutToString(), 78 79 // undefined data 80 'undefined var' => @$undefined_var, 81 82 // unset data 83 'unset var' => @$unset_var, 84); 85 86// loop through each element of the array for array2 87 88foreach($inputs as $key =>$value) { 89 echo "\n--$key--\n"; 90 try { 91 var_dump( array_udiff_uassoc($array1, $value, $data_comp_func, $key_comp_func) ); 92 } catch (TypeError $e) { 93 echo $e->getMessage(), "\n"; 94 } 95}; 96 97?> 98--EXPECT-- 99*** Testing array_udiff_uassoc() : usage variation *** 100 101--int 0-- 102array_udiff_uassoc(): Argument #2 must be of type array, int given 103 104--int 1-- 105array_udiff_uassoc(): Argument #2 must be of type array, int given 106 107--int 12345-- 108array_udiff_uassoc(): Argument #2 must be of type array, int given 109 110--int -12345-- 111array_udiff_uassoc(): Argument #2 must be of type array, int given 112 113--float 10.5-- 114array_udiff_uassoc(): Argument #2 must be of type array, float given 115 116--float -10.5-- 117array_udiff_uassoc(): Argument #2 must be of type array, float given 118 119--float 12.3456789000e10-- 120array_udiff_uassoc(): Argument #2 must be of type array, float given 121 122--float -12.3456789000e10-- 123array_udiff_uassoc(): Argument #2 must be of type array, float given 124 125--float .5-- 126array_udiff_uassoc(): Argument #2 must be of type array, float given 127 128--uppercase NULL-- 129array_udiff_uassoc(): Argument #2 must be of type array, null given 130 131--lowercase null-- 132array_udiff_uassoc(): Argument #2 must be of type array, null given 133 134--lowercase true-- 135array_udiff_uassoc(): Argument #2 must be of type array, bool given 136 137--lowercase false-- 138array_udiff_uassoc(): Argument #2 must be of type array, bool given 139 140--uppercase TRUE-- 141array_udiff_uassoc(): Argument #2 must be of type array, bool given 142 143--uppercase FALSE-- 144array_udiff_uassoc(): Argument #2 must be of type array, bool given 145 146--empty string DQ-- 147array_udiff_uassoc(): Argument #2 must be of type array, string given 148 149--empty string SQ-- 150array_udiff_uassoc(): Argument #2 must be of type array, string given 151 152--string DQ-- 153array_udiff_uassoc(): Argument #2 must be of type array, string given 154 155--string SQ-- 156array_udiff_uassoc(): Argument #2 must be of type array, string given 157 158--mixed case string-- 159array_udiff_uassoc(): Argument #2 must be of type array, string given 160 161--heredoc-- 162array_udiff_uassoc(): Argument #2 must be of type array, string given 163 164--instance of classWithToString-- 165array_udiff_uassoc(): Argument #2 must be of type array, classWithToString given 166 167--instance of classWithoutToString-- 168array_udiff_uassoc(): Argument #2 must be of type array, classWithoutToString given 169 170--undefined var-- 171array_udiff_uassoc(): Argument #2 must be of type array, null given 172 173--unset var-- 174array_udiff_uassoc(): Argument #2 must be of type array, null given 175