Return to asort_basic.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test asort() function : basic functionality 3: --FILE-- 4: <?php 5: /* Prototype : bool asort ( array &$array [, int $sort_flags] ) 6: * Description: Sort an array and maintain index association 7: Elements will be arranged from lowest to highest when this function has completed. 8: * Source code: ext/standard/array.c 9: */ 10: 11: /* 12: * Testing asort() by providing integer/string arrays to check the basic functionality 13: * with following flag values. 14: * flag value as default 15: * SORT_REGULAR - compare items normally 16: * SORT_NUMERIC - compare items numerically 17: * SORT_STRING - compare items as strings 18: */ 19: 20: echo "*** Testing asort() : basic functionality ***\n"; 21: 22: // an array containing unsorted string values with indices 1.1.1.2 ! misho 23: $unsorted_strings = array( ! 24: "l" => "lemon", "o" => "orange", ! 25: "O" => "Orange", "O1" => "Orange1", "o2" => "orange2", "O3" => "Orange3", "o20" => "orange20", ! 26: "b" => "banana", ! 27: ); 1.1 misho 28: // an array containing unsorted numeric values with indices 29: $unsorted_numerics = array( 1 => 100, 2 => 33, 3 => 555, 4 => 22 ); 30: 31: echo "\n-- Testing asort() by supplying string array, 'flag' value is default --\n"; 32: $temp_array = $unsorted_strings; 33: var_dump( asort($temp_array) ); // expecting : bool(true) 34: var_dump( $temp_array); 35: 36: echo "\n-- Testing asort() by supplying numeric array, 'flag' value is default --\n"; 37: $temp_array = $unsorted_numerics; 38: var_dump( asort($temp_array) ); // expecting : bool(true) 39: var_dump( $temp_array); 40: 41: echo "\n-- Testing asort() by supplying string array, 'flag' = SORT_REGULAR --\n"; 42: $temp_array = $unsorted_strings; 43: var_dump( asort($temp_array, SORT_REGULAR) ); // expecting : bool(true) 44: var_dump( $temp_array); 45: 46: echo "\n-- Testing asort() by supplying numeric array, 'flag' = SORT_REGULAR --\n"; 47: $temp_array = $unsorted_numerics; 48: var_dump( asort($temp_array, SORT_REGULAR) ); // expecting : bool(true) 49: var_dump( $temp_array); 50: 51: echo "\n-- Testing asort() by supplying string array, 'flag' = SORT_STRING --\n"; 52: $temp_array = $unsorted_strings; 53: var_dump( asort($temp_array, SORT_STRING) ); // expecting : bool(true) 54: var_dump( $temp_array); 55: 1.1.1.2 ! misho 56: echo "\n-- Testing asort() by supplying string array (case insensitive), 'flag' = SORT_STRING|SORT_FLAG_CASE --\n"; ! 57: $temp_array = $unsorted_strings; ! 58: var_dump( asort($temp_array, SORT_STRING|SORT_FLAG_CASE) ); // expecting : bool(true) ! 59: var_dump( $temp_array); ! 60: ! 61: echo "\n-- Testing asort() by supplying string array (natural), 'flag' = SORT_NATURAL --\n"; ! 62: $temp_array = $unsorted_strings; ! 63: var_dump( asort($temp_array, SORT_NATURAL) ); // expecting : bool(true) ! 64: var_dump( $temp_array); ! 65: ! 66: echo "\n-- Testing asort() by supplying string array (natural, case insensitive), 'flag' = SORT_NATURAL|SORT_FLAG_CASE --\n"; ! 67: $temp_array = $unsorted_strings; ! 68: var_dump( asort($temp_array, SORT_NATURAL|SORT_FLAG_CASE) ); // expecting : bool(true) ! 69: var_dump( $temp_array); ! 70: 1.1 misho 71: echo "\n-- Testing asort() by supplying numeric array, 'flag' = SORT_NUMERIC --\n"; 72: $temp_array = $unsorted_numerics; 73: var_dump( asort($temp_array, SORT_NUMERIC) ); // expecting : bool(true) 74: var_dump( $temp_array); 75: 76: echo "Done\n"; 77: ?> 78: --EXPECTF-- 79: *** Testing asort() : basic functionality *** 80: 81: -- Testing asort() by supplying string array, 'flag' value is default -- 82: bool(true) 1.1.1.2 ! misho 83: array(8) { ! 84: ["O"]=> ! 85: string(6) "Orange" ! 86: ["O1"]=> ! 87: string(7) "Orange1" ! 88: ["O3"]=> ! 89: string(7) "Orange3" 1.1 misho 90: ["b"]=> 91: string(6) "banana" 92: ["l"]=> 93: string(5) "lemon" 94: ["o"]=> 95: string(6) "orange" 1.1.1.2 ! misho 96: ["o2"]=> ! 97: string(7) "orange2" ! 98: ["o20"]=> ! 99: string(8) "orange20" 1.1 misho 100: } 101: 102: -- Testing asort() by supplying numeric array, 'flag' value is default -- 103: bool(true) 104: array(4) { 105: [4]=> 106: int(22) 107: [2]=> 108: int(33) 109: [1]=> 110: int(100) 111: [3]=> 112: int(555) 113: } 114: 115: -- Testing asort() by supplying string array, 'flag' = SORT_REGULAR -- 116: bool(true) 1.1.1.2 ! misho 117: array(8) { ! 118: ["O"]=> ! 119: string(6) "Orange" ! 120: ["O1"]=> ! 121: string(7) "Orange1" ! 122: ["O3"]=> ! 123: string(7) "Orange3" 1.1 misho 124: ["b"]=> 125: string(6) "banana" 126: ["l"]=> 127: string(5) "lemon" 128: ["o"]=> 129: string(6) "orange" 1.1.1.2 ! misho 130: ["o2"]=> ! 131: string(7) "orange2" ! 132: ["o20"]=> ! 133: string(8) "orange20" 1.1 misho 134: } 135: 136: -- Testing asort() by supplying numeric array, 'flag' = SORT_REGULAR -- 137: bool(true) 138: array(4) { 139: [4]=> 140: int(22) 141: [2]=> 142: int(33) 143: [1]=> 144: int(100) 145: [3]=> 146: int(555) 147: } 148: 149: -- Testing asort() by supplying string array, 'flag' = SORT_STRING -- 150: bool(true) 1.1.1.2 ! misho 151: array(8) { ! 152: ["O"]=> ! 153: string(6) "Orange" ! 154: ["O1"]=> ! 155: string(7) "Orange1" ! 156: ["O3"]=> ! 157: string(7) "Orange3" ! 158: ["b"]=> ! 159: string(6) "banana" ! 160: ["l"]=> ! 161: string(5) "lemon" ! 162: ["o"]=> ! 163: string(6) "orange" ! 164: ["o2"]=> ! 165: string(7) "orange2" ! 166: ["o20"]=> ! 167: string(8) "orange20" ! 168: } ! 169: ! 170: -- Testing asort() by supplying string array (case insensitive), 'flag' = SORT_STRING|SORT_FLAG_CASE -- ! 171: bool(true) ! 172: array(8) { ! 173: ["b"]=> ! 174: string(6) "banana" ! 175: ["l"]=> ! 176: string(5) "lemon" ! 177: ["o"]=> ! 178: string(6) "orange" ! 179: ["O"]=> ! 180: string(6) "Orange" ! 181: ["O1"]=> ! 182: string(7) "Orange1" ! 183: ["o2"]=> ! 184: string(7) "orange2" ! 185: ["o20"]=> ! 186: string(8) "orange20" ! 187: ["O3"]=> ! 188: string(7) "Orange3" ! 189: } ! 190: ! 191: -- Testing asort() by supplying string array (natural), 'flag' = SORT_NATURAL -- ! 192: bool(true) ! 193: array(8) { ! 194: ["O"]=> ! 195: string(6) "Orange" ! 196: ["O1"]=> ! 197: string(7) "Orange1" ! 198: ["O3"]=> ! 199: string(7) "Orange3" ! 200: ["b"]=> ! 201: string(6) "banana" ! 202: ["l"]=> ! 203: string(5) "lemon" ! 204: ["o"]=> ! 205: string(6) "orange" ! 206: ["o2"]=> ! 207: string(7) "orange2" ! 208: ["o20"]=> ! 209: string(8) "orange20" ! 210: } ! 211: ! 212: -- Testing asort() by supplying string array (natural, case insensitive), 'flag' = SORT_NATURAL|SORT_FLAG_CASE -- ! 213: bool(true) ! 214: array(8) { 1.1 misho 215: ["b"]=> 216: string(6) "banana" 217: ["l"]=> 218: string(5) "lemon" 219: ["o"]=> 220: string(6) "orange" 1.1.1.2 ! misho 221: ["O"]=> ! 222: string(6) "Orange" ! 223: ["O1"]=> ! 224: string(7) "Orange1" ! 225: ["o2"]=> ! 226: string(7) "orange2" ! 227: ["O3"]=> ! 228: string(7) "Orange3" ! 229: ["o20"]=> ! 230: string(8) "orange20" 1.1 misho 231: } 232: 233: -- Testing asort() by supplying numeric array, 'flag' = SORT_NUMERIC -- 234: bool(true) 235: array(4) { 236: [4]=> 237: int(22) 238: [2]=> 239: int(33) 240: [1]=> 241: int(100) 242: [3]=> 243: int(555) 244: } 1.1.1.2 ! misho 245: Done