Return to array_diff_uassoc_variation4.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_diff_uassoc() function : usage variation -Passing unexpected values as third optional argument 3: --FILE-- 4: <?php 5: /* Prototype : array array_diff_uassoc(array arr1, array arr2 [, array ...], callback key_comp_func) 6: * Description: Computes the difference of arrays with additional index check which is performed by a 7: * user supplied callback function 8: * Source code: ext/standard/array.c 9: */ 10: 11: echo "*** Testing array_diff_uassoc() : usage variation ***\n"; 12: 13: //Initialize variables 14: $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); 15: $array2 = array("a" => "green", "yellow", "red"); 16: 17: 18: function key_compare_func($a, $b) 19: { 20: if ($a === $b) { 21: return 0; 22: } 23: return ($a > $b)? 1:-1; 24: } 25: 26: //get an unset variable 27: $unset_var = 10; 28: unset ($unset_var); 29: 30: //resource variable 31: $fp = fopen(__FILE__, "r"); 32: 33: // define some classes 34: class classWithToString 35: { 36: public function __toString() { 37: return "Class A object"; 38: } 39: } 40: 41: class classWithoutToString 42: { 43: } 44: 45: // heredoc string 46: $heredoc = <<<EOT 47: hello world 48: EOT; 49: 50: // add arrays 51: $index_array = array (1, 2, 3); 52: $assoc_array = array ('one' => 1, 'two' => 2); 53: 54: //array of values to iterate over 55: $inputs = array( 56: 57: // int data 58: 'int 0' => 0, 59: 'int 1' => 1, 60: 'int 12345' => 12345, 61: 'int -12345' => -12345, 62: 63: // float data 64: 'float 10.5' => 10.5, 65: 'float -10.5' => -10.5, 66: 'float 12.3456789000e10' => 12.3456789000e10, 67: 'float -12.3456789000e10' => -12.3456789000e10, 68: 'float .5' => .5, 69: 70: // null data 71: 'uppercase NULL' => NULL, 72: 'lowercase null' => null, 73: 74: // boolean data 75: 'lowercase true' => true, 76: 'lowercase false' =>false, 77: 'uppercase TRUE' =>TRUE, 78: 'uppercase FALSE' =>FALSE, 79: 80: // empty data 81: 'empty string DQ' => "", 82: 'empty string SQ' => '', 83: 84: // string data 85: 'string DQ' => "string", 86: 'string SQ' => 'string', 87: 'mixed case string' => "sTrInG", 88: 'heredoc' => $heredoc, 89: 90: // object data 91: 'instance of classWithToString' => new classWithToString(), 92: 'instance of classWithoutToString' => new classWithoutToString(), 93: 94: // undefined data 95: 'undefined var' => @$undefined_var, 96: 97: // unset data 98: 'unset var' => @$unset_var, 99: 100: // resource data 101: 'resource' => $fp, 102: ); 103: 104: // loop through each element of the array for arr2 105: 106: foreach($inputs as $key =>$value) { 107: echo "\n--$key--\n"; 108: var_dump( array_diff_uassoc($array1, $array2, $value, "key_compare_func") ); 109: }; 110: 111: fclose($fp); 112: ?> 113: ===DONE=== 114: --EXPECTF-- 115: *** Testing array_diff_uassoc() : usage variation *** 116: 117: --int 0-- 118: 119: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 120: NULL 121: 122: --int 1-- 123: 124: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 125: NULL 126: 127: --int 12345-- 128: 129: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 130: NULL 131: 132: --int -12345-- 133: 134: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 135: NULL 136: 137: --float 10.5-- 138: 139: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 140: NULL 141: 142: --float -10.5-- 143: 144: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 145: NULL 146: 147: --float 12.3456789000e10-- 148: 149: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 150: NULL 151: 152: --float -12.3456789000e10-- 153: 154: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 155: NULL 156: 157: --float .5-- 158: 159: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 160: NULL 161: 162: --uppercase NULL-- 163: 164: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 165: NULL 166: 167: --lowercase null-- 168: 169: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 170: NULL 171: 172: --lowercase true-- 173: 174: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 175: NULL 176: 177: --lowercase false-- 178: 179: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 180: NULL 181: 182: --uppercase TRUE-- 183: 184: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 185: NULL 186: 187: --uppercase FALSE-- 188: 189: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 190: NULL 191: 192: --empty string DQ-- 193: 194: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 195: NULL 196: 197: --empty string SQ-- 198: 199: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 200: NULL 201: 202: --string DQ-- 203: 204: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 205: NULL 206: 207: --string SQ-- 208: 209: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 210: NULL 211: 212: --mixed case string-- 213: 214: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 215: NULL 216: 217: --heredoc-- 218: 219: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 220: NULL 221: 222: --instance of classWithToString-- 223: 224: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 225: NULL 226: 227: --instance of classWithoutToString-- 228: 229: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 230: NULL 231: 232: --undefined var-- 233: 234: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 235: NULL 236: 237: --unset var-- 238: 239: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 240: NULL 241: 242: --resource-- 243: 244: Warning: array_diff_uassoc(): Argument #3 is not an array in %s on line %d 245: NULL 246: ===DONE===