Return to array_intersect_assoc_variation1.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_intersect_assoc() function : usage variations - unexpected values for 'arr1' argument(Bug#43196) 3: --FILE-- 4: <?php 5: /* Prototype : array array_intersect_assoc(array $arr1, array $arr2 [, array $...]) 6: * Description: Returns the entries of arr1 that have values which are present in all the other arguments. 7: * Keys are used to do more restrictive check 8: * Source code: ext/standard/array.c 9: */ 10: 11: /* 12: * Testing array_intersect_assoc() function by passing values to $arr1 argument other than arrays 13: * and see that function emits proper warning messages wherever expected. 14: * The $arr2 argument passed is a fixed array. 15: */ 16: 17: echo "*** Testing array_intersect_assoc() : Passing non-array values to \$arr1 argument ***\n"; 18: 19: // array to be passsed to $arr2 as default argument 20: $arr2 = array(1, 2); 21: 22: // additional array to be passed for intersection 23: $arr3 = array(1, 2, "one" => 1, "two" => 2); 24: 25: // get an unset variable 26: $unset_var = 10; 27: unset ($unset_var); 28: 29: // get a class 30: class classA 31: { 32: public function __toString() { 33: return "Class A object"; 34: } 35: } 36: 37: // heredoc string 38: $heredoc = <<<EOT 39: hello world 40: EOT; 41: 42: // get a resource variable 43: $fp = fopen(__FILE__, "r"); 44: 45: // unexpected values to be passed to $arr1 argument 46: $arrays = array( 47: 48: // int data 49: /*1*/ 0, 50: 1, 51: 12345, 52: -2345, 53: 54: // float data 55: /*5*/ 10.5, 56: -10.5, 57: 12.3456789000e10, 58: 12.3456789000E-10, 59: .5, 60: 61: // null data 62: /*10*/ NULL, 63: null, 64: 65: // boolean data 66: /*12*/ true, 67: false, 68: TRUE, 69: FALSE, 70: 71: // empty data 72: /*16*/ "", 73: '', 74: 75: // string data 76: /*18*/ "string", 77: 'string', 78: $heredoc, 79: 80: // object data 81: /*21*/ new classA(), 82: 83: // undefined data 84: /*22*/ @$undefined_var, 85: 86: // unset data 87: /*23*/ @$unset_var, 88: 89: // resource variable 90: /*24*/ $fp 91: ); 92: 93: // loop through each sub-array within $arrrays to check the behavior of array_intersect_assoc() 94: $iterator = 1; 95: foreach($arrays as $unexpected_value) { 96: echo "\n-- Iteration $iterator --"; 97: 98: // Calling array_intersect_assoc() with default arguments 99: var_dump( array_intersect_assoc($unexpected_value, $arr2) ); 100: 101: // Calling array_intersect_assoc() with more arguments 102: var_dump( array_intersect_assoc($unexpected_value, $arr2, $arr3) ); 103: $iterator++; 104: } 105: 106: // close the file resource used 107: fclose($fp); 108: 109: echo "Done"; 110: ?> 111: --EXPECTF-- 112: *** Testing array_intersect_assoc() : Passing non-array values to $arr1 argument *** 113: 114: -- Iteration 1 -- 115: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 116: NULL 117: 118: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 119: NULL 120: 121: -- Iteration 2 -- 122: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 123: NULL 124: 125: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 126: NULL 127: 128: -- Iteration 3 -- 129: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 130: NULL 131: 132: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 133: NULL 134: 135: -- Iteration 4 -- 136: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 137: NULL 138: 139: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 140: NULL 141: 142: -- Iteration 5 -- 143: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 144: NULL 145: 146: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 147: NULL 148: 149: -- Iteration 6 -- 150: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 151: NULL 152: 153: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 154: NULL 155: 156: -- Iteration 7 -- 157: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 158: NULL 159: 160: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 161: NULL 162: 163: -- Iteration 8 -- 164: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 165: NULL 166: 167: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 168: NULL 169: 170: -- Iteration 9 -- 171: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 172: NULL 173: 174: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 175: NULL 176: 177: -- Iteration 10 -- 178: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 179: NULL 180: 181: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 182: NULL 183: 184: -- Iteration 11 -- 185: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 186: NULL 187: 188: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 189: NULL 190: 191: -- Iteration 12 -- 192: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 193: NULL 194: 195: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 196: NULL 197: 198: -- Iteration 13 -- 199: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 200: NULL 201: 202: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 203: NULL 204: 205: -- Iteration 14 -- 206: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 207: NULL 208: 209: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 210: NULL 211: 212: -- Iteration 15 -- 213: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 214: NULL 215: 216: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 217: NULL 218: 219: -- Iteration 16 -- 220: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 221: NULL 222: 223: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 224: NULL 225: 226: -- Iteration 17 -- 227: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 228: NULL 229: 230: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 231: NULL 232: 233: -- Iteration 18 -- 234: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 235: NULL 236: 237: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 238: NULL 239: 240: -- Iteration 19 -- 241: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 242: NULL 243: 244: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 245: NULL 246: 247: -- Iteration 20 -- 248: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 249: NULL 250: 251: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 252: NULL 253: 254: -- Iteration 21 -- 255: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 256: NULL 257: 258: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 259: NULL 260: 261: -- Iteration 22 -- 262: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 263: NULL 264: 265: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 266: NULL 267: 268: -- Iteration 23 -- 269: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 270: NULL 271: 272: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 273: NULL 274: 275: -- Iteration 24 -- 276: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 277: NULL 278: 279: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d 280: NULL 281: Done