1--TEST-- 2Test rsort() function : usage variations - String values 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 * Pass arrays containing different string data to rsort() to test behaviour 12 */ 13 14echo "*** Testing rsort() : variation ***\n"; 15 16$various_arrays = array ( 17// group of escape sequences 18array(null, NULL, "\a", "\cx", "\e", "\f", "\n", "\t", "\xhh", "\ddd", "\v"), 19 20// array contains combination of capital/small letters 21array("lemoN", "Orange", "banana", "apple", "Test", "TTTT", "ttt", "ww", "x", "X", "oraNGe", "BANANA") 22); 23 24$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING); 25 26$count = 1; 27// loop through to test rsort() with different arrays 28foreach ($various_arrays as $array) { 29 echo "\n-- Iteration $count --\n"; 30 31 echo "- With Default sort flag -\n"; 32 $temp_array = $array; 33 var_dump(rsort($temp_array) ); 34 var_dump($temp_array); 35 36 // loop through $flags array and setting all possible flag values 37 foreach($flags as $key => $flag){ 38 echo "- Sort flag = $key -\n"; 39 40 $temp_array = $array; 41 var_dump(rsort($temp_array, $flag) ); 42 var_dump($temp_array); 43 } 44 $count++; 45} 46 47echo "Done"; 48?> 49--EXPECT-- 50*** Testing rsort() : variation *** 51 52-- Iteration 1 -- 53- With Default sort flag - 54bool(true) 55array(11) { 56 [0]=> 57 string(4) "\xhh" 58 [1]=> 59 string(4) "\ddd" 60 [2]=> 61 string(3) "\cx" 62 [3]=> 63 string(2) "\a" 64 [4]=> 65 string(1) "" 66 [5]=> 67 string(1) "" 68 [6]=> 69 string(1) "" 70 [7]=> 71 string(1) " 72" 73 [8]=> 74 string(1) " " 75 [9]=> 76 NULL 77 [10]=> 78 NULL 79} 80- Sort flag = SORT_REGULAR - 81bool(true) 82array(11) { 83 [0]=> 84 string(4) "\xhh" 85 [1]=> 86 string(4) "\ddd" 87 [2]=> 88 string(3) "\cx" 89 [3]=> 90 string(2) "\a" 91 [4]=> 92 string(1) "" 93 [5]=> 94 string(1) "" 95 [6]=> 96 string(1) "" 97 [7]=> 98 string(1) " 99" 100 [8]=> 101 string(1) " " 102 [9]=> 103 NULL 104 [10]=> 105 NULL 106} 107- Sort flag = SORT_STRING - 108bool(true) 109array(11) { 110 [0]=> 111 string(4) "\xhh" 112 [1]=> 113 string(4) "\ddd" 114 [2]=> 115 string(3) "\cx" 116 [3]=> 117 string(2) "\a" 118 [4]=> 119 string(1) "" 120 [5]=> 121 string(1) "" 122 [6]=> 123 string(1) "" 124 [7]=> 125 string(1) " 126" 127 [8]=> 128 string(1) " " 129 [9]=> 130 NULL 131 [10]=> 132 NULL 133} 134 135-- Iteration 2 -- 136- With Default sort flag - 137bool(true) 138array(12) { 139 [0]=> 140 string(1) "x" 141 [1]=> 142 string(2) "ww" 143 [2]=> 144 string(3) "ttt" 145 [3]=> 146 string(6) "oraNGe" 147 [4]=> 148 string(5) "lemoN" 149 [5]=> 150 string(6) "banana" 151 [6]=> 152 string(5) "apple" 153 [7]=> 154 string(1) "X" 155 [8]=> 156 string(4) "Test" 157 [9]=> 158 string(4) "TTTT" 159 [10]=> 160 string(6) "Orange" 161 [11]=> 162 string(6) "BANANA" 163} 164- Sort flag = SORT_REGULAR - 165bool(true) 166array(12) { 167 [0]=> 168 string(1) "x" 169 [1]=> 170 string(2) "ww" 171 [2]=> 172 string(3) "ttt" 173 [3]=> 174 string(6) "oraNGe" 175 [4]=> 176 string(5) "lemoN" 177 [5]=> 178 string(6) "banana" 179 [6]=> 180 string(5) "apple" 181 [7]=> 182 string(1) "X" 183 [8]=> 184 string(4) "Test" 185 [9]=> 186 string(4) "TTTT" 187 [10]=> 188 string(6) "Orange" 189 [11]=> 190 string(6) "BANANA" 191} 192- Sort flag = SORT_STRING - 193bool(true) 194array(12) { 195 [0]=> 196 string(1) "x" 197 [1]=> 198 string(2) "ww" 199 [2]=> 200 string(3) "ttt" 201 [3]=> 202 string(6) "oraNGe" 203 [4]=> 204 string(5) "lemoN" 205 [5]=> 206 string(6) "banana" 207 [6]=> 208 string(5) "apple" 209 [7]=> 210 string(1) "X" 211 [8]=> 212 string(4) "Test" 213 [9]=> 214 string(4) "TTTT" 215 [10]=> 216 string(6) "Orange" 217 [11]=> 218 string(6) "BANANA" 219} 220Done 221