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