Annotation of embedaddon/php/ext/standard/tests/array/sort_object1.phpt, revision 1.1
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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>