Return to rsort_variation9.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test rsort() function : usage variations - mixed associative arrays 3: --FILE-- 4: <?php 5: /* Prototype : bool rsort(array &$array_arg [, int $sort_flags]) 6: * Description: Sort an array in reverse order 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Pass rsort() associative arrays to test key re-assignment 12: */ 13: 14: echo "*** Testing rsort() : variation ***\n"; 15: 16: // Associative arrays 17: $various_arrays = array( 18: // numeric assoc. only array 19: array(5 => 55, 6 => 66, 2 => 22, 3 => 33, 1 => 11), 20: 21: // two-dimensional assoc. and default key array 22: array("fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), 23: "numbers" => array(1, 2, 3, 4, 5, 6), 24: "holes" => array("first", 5 => "second", "third")), 25: 26: // numeric assoc. and default key array 27: array(1, 1, 8 => 1, 4 => 1, 19, 3 => 13), 28: 29: // mixed assoc. array 30: array('bar' => 'baz', "foo" => 1), 31: 32: // assoc. only multi-dimensional array 33: array('a' => 1,'b' => array('e' => 2,'f' => 3),'c' => array('g' => 4),'d' => 5), 34: ); 35: 36: $count = 1; 37: 38: // loop through to test rsort() with different arrays, 39: // to test the new keys for the elements in the sorted array 40: foreach ($various_arrays as $array) { 41: echo "\n-- Iteration $count --\n"; 42: 43: echo "-- Sort flag = default --\n"; 44: $temp_array = $array; 45: var_dump(rsort($temp_array) ); 46: var_dump($temp_array); 47: 48: echo "-- Sort flag = SORT_REGULAR --\n"; 49: $temp_array = $array; 50: var_dump(rsort($temp_array, SORT_REGULAR) ); 51: var_dump($temp_array); 52: $count++; 53: } 54: 55: echo "Done"; 56: ?> 57: --EXPECTF-- 58: *** Testing rsort() : variation *** 59: 60: -- Iteration 1 -- 61: -- Sort flag = default -- 62: bool(true) 63: array(5) { 64: [0]=> 65: int(66) 66: [1]=> 67: int(55) 68: [2]=> 69: int(33) 70: [3]=> 71: int(22) 72: [4]=> 73: int(11) 74: } 75: -- Sort flag = SORT_REGULAR -- 76: bool(true) 77: array(5) { 78: [0]=> 79: int(66) 80: [1]=> 81: int(55) 82: [2]=> 83: int(33) 84: [3]=> 85: int(22) 86: [4]=> 87: int(11) 88: } 89: 90: -- Iteration 2 -- 91: -- Sort flag = default -- 92: bool(true) 93: array(3) { 94: [0]=> 95: array(6) { 96: [0]=> 97: int(1) 98: [1]=> 99: int(2) 100: [2]=> 101: int(3) 102: [3]=> 103: int(4) 104: [4]=> 105: int(5) 106: [5]=> 107: int(6) 108: } 109: [1]=> 110: array(3) { 111: [0]=> 112: string(5) "first" 113: [5]=> 114: string(6) "second" 115: [6]=> 116: string(5) "third" 117: } 118: [2]=> 119: array(3) { 120: ["a"]=> 121: string(6) "orange" 122: ["b"]=> 123: string(6) "banana" 124: ["c"]=> 125: string(5) "apple" 126: } 127: } 128: -- Sort flag = SORT_REGULAR -- 129: bool(true) 130: array(3) { 131: [0]=> 132: array(6) { 133: [0]=> 134: int(1) 135: [1]=> 136: int(2) 137: [2]=> 138: int(3) 139: [3]=> 140: int(4) 141: [4]=> 142: int(5) 143: [5]=> 144: int(6) 145: } 146: [1]=> 147: array(3) { 148: [0]=> 149: string(5) "first" 150: [5]=> 151: string(6) "second" 152: [6]=> 153: string(5) "third" 154: } 155: [2]=> 156: array(3) { 157: ["a"]=> 158: string(6) "orange" 159: ["b"]=> 160: string(6) "banana" 161: ["c"]=> 162: string(5) "apple" 163: } 164: } 165: 166: -- Iteration 3 -- 167: -- Sort flag = default -- 168: bool(true) 169: array(6) { 170: [0]=> 171: int(19) 172: [1]=> 173: int(13) 174: [2]=> 175: int(1) 176: [3]=> 177: int(1) 178: [4]=> 179: int(1) 180: [5]=> 181: int(1) 182: } 183: -- Sort flag = SORT_REGULAR -- 184: bool(true) 185: array(6) { 186: [0]=> 187: int(19) 188: [1]=> 189: int(13) 190: [2]=> 191: int(1) 192: [3]=> 193: int(1) 194: [4]=> 195: int(1) 196: [5]=> 197: int(1) 198: } 199: 200: -- Iteration 4 -- 201: -- Sort flag = default -- 202: bool(true) 203: array(2) { 204: [0]=> 205: int(1) 206: [1]=> 207: string(3) "baz" 208: } 209: -- Sort flag = SORT_REGULAR -- 210: bool(true) 211: array(2) { 212: [0]=> 213: int(1) 214: [1]=> 215: string(3) "baz" 216: } 217: 218: -- Iteration 5 -- 219: -- Sort flag = default -- 220: bool(true) 221: array(4) { 222: [0]=> 223: array(2) { 224: ["e"]=> 225: int(2) 226: ["f"]=> 227: int(3) 228: } 229: [1]=> 230: array(1) { 231: ["g"]=> 232: int(4) 233: } 234: [2]=> 235: int(5) 236: [3]=> 237: int(1) 238: } 239: -- Sort flag = SORT_REGULAR -- 240: bool(true) 241: array(4) { 242: [0]=> 243: array(2) { 244: ["e"]=> 245: int(2) 246: ["f"]=> 247: int(3) 248: } 249: [1]=> 250: array(1) { 251: ["g"]=> 252: int(4) 253: } 254: [2]=> 255: int(5) 256: [3]=> 257: int(1) 258: } 259: Done