Return to array_diff_variation2.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_diff() function : usage variations - unexpected values for 'arr2' argument 3: --FILE-- 4: <?php 5: /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) 6: * Description: Returns the entries of $arr1 that have values which are 7: * not present in any of the others arguments. 8: * Source code: ext/standard/array.c 9: */ 10: 11: /* 12: * Test array_diff by passing non array values in place of $arr2 13: */ 14: 15: echo "*** Testing array_diff() : usage variations ***\n"; 16: 17: $array = array(1, 2, 3); 18: 19: //get an unset variable 20: $unset_var = 10; 21: unset ($unset_var); 22: 23: // get a class 24: class classA 25: { 26: public function __toString() { 27: return "Class A object"; 28: } 29: } 30: 31: // heredoc string 32: $heredoc = <<<EOT 33: hello world 34: EOT; 35: 36: // get a resource variable 37: $fp = fopen(__FILE__, "r"); 38: 39: // unexpected values to be passed to $input argument 40: $inputs = array( 41: 42: // int data 43: /*1*/ 0, 44: 1, 45: 12345, 46: -2345, 47: 48: // float data 49: /*5*/ 10.5, 50: -10.5, 51: 12.3456789000e10, 52: 12.3456789000E-10, 53: .5, 54: 55: // null data 56: /*10*/ NULL, 57: null, 58: 59: // boolean data 60: /*12*/ true, 61: false, 62: TRUE, 63: FALSE, 64: 65: // empty data 66: /*16*/ "", 67: '', 68: 69: // string data 70: /*18*/ "string", 71: 'string', 72: $heredoc, 73: 74: // binary data 75: /*21*/ b"binary", 76: (binary)"binary", 77: 78: // object data 79: /*23*/ new classA(), 80: 81: // undefined data 82: /*24*/ @$undefined_var, 83: 84: // unset data 85: /*25*/ @$unset_var, 86: 87: // resource variable 88: /*26*/ $fp 89: ); 90: 91: // loop through each element of $inputs to check the behavior of array_diff 92: $iterator = 1; 93: foreach($inputs as $input) { 94: echo "\n-- Iteration $iterator --"; 95: var_dump( array_diff($array, $input)); 96: $iterator++; 97: }; 98: fclose($fp); 99: echo "Done"; 100: ?> 101: --EXPECTF-- 102: *** Testing array_diff() : usage variations *** 103: 104: -- Iteration 1 -- 105: Warning: array_diff(): Argument #2 is not an array in %s on line %d 106: NULL 107: 108: -- Iteration 2 -- 109: Warning: array_diff(): Argument #2 is not an array in %s on line %d 110: NULL 111: 112: -- Iteration 3 -- 113: Warning: array_diff(): Argument #2 is not an array in %s on line %d 114: NULL 115: 116: -- Iteration 4 -- 117: Warning: array_diff(): Argument #2 is not an array in %s on line %d 118: NULL 119: 120: -- Iteration 5 -- 121: Warning: array_diff(): Argument #2 is not an array in %s on line %d 122: NULL 123: 124: -- Iteration 6 -- 125: Warning: array_diff(): Argument #2 is not an array in %s on line %d 126: NULL 127: 128: -- Iteration 7 -- 129: Warning: array_diff(): Argument #2 is not an array in %s on line %d 130: NULL 131: 132: -- Iteration 8 -- 133: Warning: array_diff(): Argument #2 is not an array in %s on line %d 134: NULL 135: 136: -- Iteration 9 -- 137: Warning: array_diff(): Argument #2 is not an array in %s on line %d 138: NULL 139: 140: -- Iteration 10 -- 141: Warning: array_diff(): Argument #2 is not an array in %s on line %d 142: NULL 143: 144: -- Iteration 11 -- 145: Warning: array_diff(): Argument #2 is not an array in %s on line %d 146: NULL 147: 148: -- Iteration 12 -- 149: Warning: array_diff(): Argument #2 is not an array in %s on line %d 150: NULL 151: 152: -- Iteration 13 -- 153: Warning: array_diff(): Argument #2 is not an array in %s on line %d 154: NULL 155: 156: -- Iteration 14 -- 157: Warning: array_diff(): Argument #2 is not an array in %s on line %d 158: NULL 159: 160: -- Iteration 15 -- 161: Warning: array_diff(): Argument #2 is not an array in %s on line %d 162: NULL 163: 164: -- Iteration 16 -- 165: Warning: array_diff(): Argument #2 is not an array in %s on line %d 166: NULL 167: 168: -- Iteration 17 -- 169: Warning: array_diff(): Argument #2 is not an array in %s on line %d 170: NULL 171: 172: -- Iteration 18 -- 173: Warning: array_diff(): Argument #2 is not an array in %s on line %d 174: NULL 175: 176: -- Iteration 19 -- 177: Warning: array_diff(): Argument #2 is not an array in %s on line %d 178: NULL 179: 180: -- Iteration 20 -- 181: Warning: array_diff(): Argument #2 is not an array in %s on line %d 182: NULL 183: 184: -- Iteration 21 -- 185: Warning: array_diff(): Argument #2 is not an array in %s on line %d 186: NULL 187: 188: -- Iteration 22 -- 189: Warning: array_diff(): Argument #2 is not an array in %s on line %d 190: NULL 191: 192: -- Iteration 23 -- 193: Warning: array_diff(): Argument #2 is not an array in %s on line %d 194: NULL 195: 196: -- Iteration 24 -- 197: Warning: array_diff(): Argument #2 is not an array in %s on line %d 198: NULL 199: 200: -- Iteration 25 -- 201: Warning: array_diff(): Argument #2 is not an array in %s on line %d 202: NULL 203: 204: -- Iteration 26 -- 205: Warning: array_diff(): Argument #2 is not an array in %s on line %d 206: NULL 207: Done