Annotation of embedaddon/php/ext/standard/tests/array/sort_object1.phpt, revision 1.1.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>