1--TEST-- 2Test rsort() function : object functionality 3--FILE-- 4<?php 5/* Prototype : bool rsort(array &$array_arg [, int $sort_flags]) 6 * Description: Sort an array in reverse order 7 * Source code: ext/standard/array.c 8 */ 9 10/* 11 * Test basic functionality of rsort() with objects 12 */ 13 14echo "*** Testing rsort() : object functionality ***\n"; 15 16// class declaration for integer objects 17class for_integer_rsort 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 28class for_string_rsort 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_rsort(11), new for_integer_rsort(66), 46 new for_integer_rsort(23), new for_integer_rsort(-5), 47 new for_integer_rsort(0.001), new for_integer_rsort(0) 48); 49 50// array of string objects 51$unsorted_str_obj = array ( 52 new for_string_rsort("axx"), new for_string_rsort("t"), 53 new for_string_rsort("w"), new for_string_rsort("py"), 54 new for_string_rsort("apple"), new for_string_rsort("Orange"), 55 new for_string_rsort("Lemon"), new for_string_rsort("aPPle") 56); 57 58 59echo "\n-- Sort flag = default --\n"; 60 61// testing rsort() function by supplying integer object array, flag value is defualt 62$temp_array = $unsorted_int_obj; 63var_dump(rsort($temp_array) ); 64var_dump($temp_array); 65 66// testing rsort() function by supplying string object array, flag value is defualt 67$temp_array = $unsorted_str_obj; 68var_dump(rsort($temp_array) ); 69var_dump($temp_array); 70 71echo "\n-- Sort flag = SORT_REGULAR --\n"; 72// testing rsort() function by supplying integer object array, flag value = SORT_REGULAR 73$temp_array = $unsorted_int_obj; 74var_dump(rsort($temp_array, SORT_REGULAR) ); 75var_dump($temp_array); 76 77// testing rsort() function by supplying string object array, flag value = SORT_REGULAR 78$temp_array = $unsorted_str_obj; 79var_dump(rsort($temp_array, SORT_REGULAR) ); 80var_dump($temp_array); 81 82echo "Done"; 83?> 84 85--EXPECTF-- 86*** Testing rsort() : object functionality *** 87 88-- Sort flag = default -- 89bool(true) 90array(6) { 91 [0]=> 92 object(for_integer_rsort)#%d (1) { 93 ["class_value"]=> 94 int(66) 95 } 96 [1]=> 97 object(for_integer_rsort)#%d (1) { 98 ["class_value"]=> 99 int(23) 100 } 101 [2]=> 102 object(for_integer_rsort)#%d (1) { 103 ["class_value"]=> 104 int(11) 105 } 106 [3]=> 107 object(for_integer_rsort)#%d (1) { 108 ["class_value"]=> 109 float(0.001) 110 } 111 [4]=> 112 object(for_integer_rsort)#%d (1) { 113 ["class_value"]=> 114 int(0) 115 } 116 [5]=> 117 object(for_integer_rsort)#%d (1) { 118 ["class_value"]=> 119 int(-5) 120 } 121} 122bool(true) 123array(8) { 124 [0]=> 125 object(for_string_rsort)#%d (1) { 126 ["class_value"]=> 127 string(1) "w" 128 } 129 [1]=> 130 object(for_string_rsort)#%d (1) { 131 ["class_value"]=> 132 string(1) "t" 133 } 134 [2]=> 135 object(for_string_rsort)#%d (1) { 136 ["class_value"]=> 137 string(2) "py" 138 } 139 [3]=> 140 object(for_string_rsort)#%d (1) { 141 ["class_value"]=> 142 string(3) "axx" 143 } 144 [4]=> 145 object(for_string_rsort)#%d (1) { 146 ["class_value"]=> 147 string(5) "apple" 148 } 149 [5]=> 150 object(for_string_rsort)#%d (1) { 151 ["class_value"]=> 152 string(5) "aPPle" 153 } 154 [6]=> 155 object(for_string_rsort)#%d (1) { 156 ["class_value"]=> 157 string(6) "Orange" 158 } 159 [7]=> 160 object(for_string_rsort)#%d (1) { 161 ["class_value"]=> 162 string(5) "Lemon" 163 } 164} 165 166-- Sort flag = SORT_REGULAR -- 167bool(true) 168array(6) { 169 [0]=> 170 object(for_integer_rsort)#%d (1) { 171 ["class_value"]=> 172 int(66) 173 } 174 [1]=> 175 object(for_integer_rsort)#%d (1) { 176 ["class_value"]=> 177 int(23) 178 } 179 [2]=> 180 object(for_integer_rsort)#%d (1) { 181 ["class_value"]=> 182 int(11) 183 } 184 [3]=> 185 object(for_integer_rsort)#%d (1) { 186 ["class_value"]=> 187 float(0.001) 188 } 189 [4]=> 190 object(for_integer_rsort)#%d (1) { 191 ["class_value"]=> 192 int(0) 193 } 194 [5]=> 195 object(for_integer_rsort)#%d (1) { 196 ["class_value"]=> 197 int(-5) 198 } 199} 200bool(true) 201array(8) { 202 [0]=> 203 object(for_string_rsort)#%d (1) { 204 ["class_value"]=> 205 string(1) "w" 206 } 207 [1]=> 208 object(for_string_rsort)#%d (1) { 209 ["class_value"]=> 210 string(1) "t" 211 } 212 [2]=> 213 object(for_string_rsort)#%d (1) { 214 ["class_value"]=> 215 string(2) "py" 216 } 217 [3]=> 218 object(for_string_rsort)#%d (1) { 219 ["class_value"]=> 220 string(3) "axx" 221 } 222 [4]=> 223 object(for_string_rsort)#%d (1) { 224 ["class_value"]=> 225 string(5) "apple" 226 } 227 [5]=> 228 object(for_string_rsort)#%d (1) { 229 ["class_value"]=> 230 string(5) "aPPle" 231 } 232 [6]=> 233 object(for_string_rsort)#%d (1) { 234 ["class_value"]=> 235 string(6) "Orange" 236 } 237 [7]=> 238 object(for_string_rsort)#%d (1) { 239 ["class_value"]=> 240 string(5) "Lemon" 241 } 242} 243Done