Return to sort_object1.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test sort() function : object functionality - sorting objects, 'sort_flags' as default/SORT_REGULAR 3: --FILE-- 4: <?php 5: /* Prototype : bool sort ( array &$array [, int $sort_flags] ) 6: * Description: This function sorts an array. 7: Elements will be arranged from lowest to highest when this function has completed. 8: * Source code: ext/standard/array.c 9: */ 10: /* 11: * testing sort() by providing integer/string object arrays with flag values are defualt, SORT_REGULAR 12: */ 13: 14: echo "*** Testing sort() : object functionality ***\n"; 15: 16: // class declaration for integer objects 17: class for_integer_sort 18: { 19: public $class_value; 20: // initializing object member value 21: function __construct($value){ 22: $this->class_value = $value; 23: } 24: 25: } 26: 27: // class declaration for string objects 28: class for_string_sort 29: { 30: public $class_value; 31: // initializing object member value 32: function __construct($value){ 33: $this->class_value = $value; 34: } 35: 36: // return string value 37: function __tostring() { 38: return (string)$this->value; 39: } 40: 41: } 42: 43: // array of integer objects 44: $unsorted_int_obj = array( 45: new for_integer_sort(11), new for_integer_sort(66), 46: new for_integer_sort(23), new for_integer_sort(-5), 47: new for_integer_sort(0.001), new for_integer_sort(0) 48: ); 49: 50: // array of string objects 51: $unsorted_str_obj = array ( 52: new for_string_sort("axx"), new for_string_sort("t"), 53: new for_string_sort("w"), new for_string_sort("py"), 54: new for_string_sort("apple"), new for_string_sort("Orange"), 55: new for_string_sort("Lemon"), new for_string_sort("aPPle") 56: ); 57: 58: 59: echo "\n-- Testing sort() by supplying various object arrays, 'flag' value is defualt --\n"; 60: 61: // testing sort() function by supplying integer object array, flag value is defualt 62: $temp_array = $unsorted_int_obj; 63: var_dump(sort($temp_array) ); 64: var_dump($temp_array); 65: 66: // testing sort() function by supplying string object array, flag value is defualt 67: $temp_array = $unsorted_str_obj; 68: var_dump(sort($temp_array) ); 69: var_dump($temp_array); 70: 71: echo "\n-- Testing sort() by supplying various object arrays, 'flag' value is SORT_REGULAR --\n"; 72: // testing sort() function by supplying integer object array, flag value = SORT_REGULAR 73: $temp_array = $unsorted_int_obj; 74: var_dump(sort($temp_array, SORT_REGULAR) ); 75: var_dump($temp_array); 76: 77: // testing sort() function by supplying string object array, flag value = SORT_REGULAR 78: $temp_array = $unsorted_str_obj; 79: var_dump(sort($temp_array, SORT_REGULAR) ); 80: var_dump($temp_array); 81: 82: echo "Done\n"; 83: ?> 84: --EXPECTF-- 85: *** Testing sort() : object functionality *** 86: 87: -- Testing sort() by supplying various object arrays, 'flag' value is defualt -- 88: bool(true) 89: array(6) { 90: [0]=> 91: object(for_integer_sort)#%d (1) { 92: ["class_value"]=> 93: int(-5) 94: } 95: [1]=> 96: object(for_integer_sort)#%d (1) { 97: ["class_value"]=> 98: int(0) 99: } 100: [2]=> 101: object(for_integer_sort)#%d (1) { 102: ["class_value"]=> 103: float(0.001) 104: } 105: [3]=> 106: object(for_integer_sort)#%d (1) { 107: ["class_value"]=> 108: int(11) 109: } 110: [4]=> 111: object(for_integer_sort)#%d (1) { 112: ["class_value"]=> 113: int(23) 114: } 115: [5]=> 116: object(for_integer_sort)#%d (1) { 117: ["class_value"]=> 118: int(66) 119: } 120: } 121: bool(true) 122: array(8) { 123: [0]=> 124: object(for_string_sort)#%d (1) { 125: ["class_value"]=> 126: string(5) "Lemon" 127: } 128: [1]=> 129: object(for_string_sort)#%d (1) { 130: ["class_value"]=> 131: string(6) "Orange" 132: } 133: [2]=> 134: object(for_string_sort)#%d (1) { 135: ["class_value"]=> 136: string(5) "aPPle" 137: } 138: [3]=> 139: object(for_string_sort)#%d (1) { 140: ["class_value"]=> 141: string(5) "apple" 142: } 143: [4]=> 144: object(for_string_sort)#%d (1) { 145: ["class_value"]=> 146: string(3) "axx" 147: } 148: [5]=> 149: object(for_string_sort)#%d (1) { 150: ["class_value"]=> 151: string(2) "py" 152: } 153: [6]=> 154: object(for_string_sort)#%d (1) { 155: ["class_value"]=> 156: string(1) "t" 157: } 158: [7]=> 159: object(for_string_sort)#%d (1) { 160: ["class_value"]=> 161: string(1) "w" 162: } 163: } 164: 165: -- Testing sort() by supplying various object arrays, 'flag' value is SORT_REGULAR -- 166: bool(true) 167: array(6) { 168: [0]=> 169: object(for_integer_sort)#%d (1) { 170: ["class_value"]=> 171: int(-5) 172: } 173: [1]=> 174: object(for_integer_sort)#%d (1) { 175: ["class_value"]=> 176: int(0) 177: } 178: [2]=> 179: object(for_integer_sort)#%d (1) { 180: ["class_value"]=> 181: float(0.001) 182: } 183: [3]=> 184: object(for_integer_sort)#%d (1) { 185: ["class_value"]=> 186: int(11) 187: } 188: [4]=> 189: object(for_integer_sort)#%d (1) { 190: ["class_value"]=> 191: int(23) 192: } 193: [5]=> 194: object(for_integer_sort)#%d (1) { 195: ["class_value"]=> 196: int(66) 197: } 198: } 199: bool(true) 200: array(8) { 201: [0]=> 202: object(for_string_sort)#%d (1) { 203: ["class_value"]=> 204: string(5) "Lemon" 205: } 206: [1]=> 207: object(for_string_sort)#%d (1) { 208: ["class_value"]=> 209: string(6) "Orange" 210: } 211: [2]=> 212: object(for_string_sort)#%d (1) { 213: ["class_value"]=> 214: string(5) "aPPle" 215: } 216: [3]=> 217: object(for_string_sort)#%d (1) { 218: ["class_value"]=> 219: string(5) "apple" 220: } 221: [4]=> 222: object(for_string_sort)#%d (1) { 223: ["class_value"]=> 224: string(3) "axx" 225: } 226: [5]=> 227: object(for_string_sort)#%d (1) { 228: ["class_value"]=> 229: string(2) "py" 230: } 231: [6]=> 232: object(for_string_sort)#%d (1) { 233: ["class_value"]=> 234: string(1) "t" 235: } 236: [7]=> 237: object(for_string_sort)#%d (1) { 238: ["class_value"]=> 239: string(1) "w" 240: } 241: } 242: Done