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