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