Return to ksort_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test ksort() function : usage variations - sort integer/float values 3: --FILE-- 4: <?php 5: /* Prototype : bool ksort ( array &$array [, int $sort_flags] ) 6: * Description: Sort an array by key, maintaining key to data correlation 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Testing ksort() by providing array of integer/float/mixed values for $array argument 12: * with following flag values: 13: * 1. flag value as defualt 14: * 2. SORT_REGULAR - compare items normally 15: * 3. SORT_NUMERIC - compare items numerically 16: */ 17: 18: echo "*** Testing ksort() : usage variations ***\n"; 19: 20: // diff. associative arrays to sort 21: $various_arrays = array( 22: // negative/posative integer key value array 23: array(1 => 11, -2 => -11, 3 => 21, -4 => -21, 5 => 31, -6 => -31, 7 => 0, 8 => 41, -10 =>-41), 24: 25: // float key values 26: array(1.0 => 10.5, 0.2 => -10.5, 3.1 => 10.5e2, 4 => 10.6E-2, .5 => .5, 6 => .0001, -7 => -.1), 27: 28: // mixed value array with different types of keys 29: array(1 => .0001, 2 => .0021, -3 => -.01, 4 => -1, 5 => 0, 6 => .09, 7 => 2, -8 => -.9, 30: 9 => 10.6E-2, -10 => -10.6E-2, 11 => 33) 31: ); 32: 33: // set of possible flag values 34: $flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_NUMERIC" => SORT_NUMERIC); 35: 36: $count = 1; 37: echo "\n-- Testing ksort() by supplying various integer/float arrays --\n"; 38: 39: // loop through to test ksort() with different arrays 40: foreach ($various_arrays as $array) { 41: echo "\n-- Iteration $count --\n"; 42: 43: echo "- With defualt sort flag -\n"; 44: $temp_array = $array; 45: var_dump(ksort($temp_array) ); 46: var_dump($temp_array); 47: 48: // loop through $flags array and call ksort() with all possible sort flag values 49: foreach($flags as $key => $flag){ 50: echo "- Sort flag = $key -\n"; 51: $temp_array = $array; 52: var_dump(ksort($temp_array, $flag) ); 53: var_dump($temp_array); 54: } 55: $count++; 56: } 57: 58: echo "Done\n"; 59: ?> 60: --EXPECTF-- 61: *** Testing ksort() : usage variations *** 62: 63: -- Testing ksort() by supplying various integer/float arrays -- 64: 65: -- Iteration 1 -- 66: - With defualt sort flag - 67: bool(true) 68: array(9) { 69: [-10]=> 70: int(-41) 71: [-6]=> 72: int(-31) 73: [-4]=> 74: int(-21) 75: [-2]=> 76: int(-11) 77: [1]=> 78: int(11) 79: [3]=> 80: int(21) 81: [5]=> 82: int(31) 83: [7]=> 84: int(0) 85: [8]=> 86: int(41) 87: } 88: - Sort flag = SORT_REGULAR - 89: bool(true) 90: array(9) { 91: [-10]=> 92: int(-41) 93: [-6]=> 94: int(-31) 95: [-4]=> 96: int(-21) 97: [-2]=> 98: int(-11) 99: [1]=> 100: int(11) 101: [3]=> 102: int(21) 103: [5]=> 104: int(31) 105: [7]=> 106: int(0) 107: [8]=> 108: int(41) 109: } 110: - Sort flag = SORT_NUMERIC - 111: bool(true) 112: array(9) { 113: [-10]=> 114: int(-41) 115: [-6]=> 116: int(-31) 117: [-4]=> 118: int(-21) 119: [-2]=> 120: int(-11) 121: [1]=> 122: int(11) 123: [3]=> 124: int(21) 125: [5]=> 126: int(31) 127: [7]=> 128: int(0) 129: [8]=> 130: int(41) 131: } 132: 133: -- Iteration 2 -- 134: - With defualt sort flag - 135: bool(true) 136: array(6) { 137: [-7]=> 138: float(-0.1) 139: [0]=> 140: float(0.5) 141: [1]=> 142: float(10.5) 143: [3]=> 144: float(1050) 145: [4]=> 146: float(0.106) 147: [6]=> 148: float(0.0001) 149: } 150: - Sort flag = SORT_REGULAR - 151: bool(true) 152: array(6) { 153: [-7]=> 154: float(-0.1) 155: [0]=> 156: float(0.5) 157: [1]=> 158: float(10.5) 159: [3]=> 160: float(1050) 161: [4]=> 162: float(0.106) 163: [6]=> 164: float(0.0001) 165: } 166: - Sort flag = SORT_NUMERIC - 167: bool(true) 168: array(6) { 169: [-7]=> 170: float(-0.1) 171: [0]=> 172: float(0.5) 173: [1]=> 174: float(10.5) 175: [3]=> 176: float(1050) 177: [4]=> 178: float(0.106) 179: [6]=> 180: float(0.0001) 181: } 182: 183: -- Iteration 3 -- 184: - With defualt sort flag - 185: bool(true) 186: array(11) { 187: [-10]=> 188: float(-0.106) 189: [-8]=> 190: float(-0.9) 191: [-3]=> 192: float(-0.01) 193: [1]=> 194: float(0.0001) 195: [2]=> 196: float(0.0021) 197: [4]=> 198: int(-1) 199: [5]=> 200: int(0) 201: [6]=> 202: float(0.09) 203: [7]=> 204: int(2) 205: [9]=> 206: float(0.106) 207: [11]=> 208: int(33) 209: } 210: - Sort flag = SORT_REGULAR - 211: bool(true) 212: array(11) { 213: [-10]=> 214: float(-0.106) 215: [-8]=> 216: float(-0.9) 217: [-3]=> 218: float(-0.01) 219: [1]=> 220: float(0.0001) 221: [2]=> 222: float(0.0021) 223: [4]=> 224: int(-1) 225: [5]=> 226: int(0) 227: [6]=> 228: float(0.09) 229: [7]=> 230: int(2) 231: [9]=> 232: float(0.106) 233: [11]=> 234: int(33) 235: } 236: - Sort flag = SORT_NUMERIC - 237: bool(true) 238: array(11) { 239: [-10]=> 240: float(-0.106) 241: [-8]=> 242: float(-0.9) 243: [-3]=> 244: float(-0.01) 245: [1]=> 246: float(0.0001) 247: [2]=> 248: float(0.0021) 249: [4]=> 250: int(-1) 251: [5]=> 252: int(0) 253: [6]=> 254: float(0.09) 255: [7]=> 256: int(2) 257: [9]=> 258: float(0.106) 259: [11]=> 260: int(33) 261: } 262: Done