1--TEST-- 2Test krsort() function : usage variations - sort mixed values, 'sort_flags' as default/SORT_REGULAR (OK to fail as result is unpredectable) 3--FILE-- 4<?php 5/* Prototype : bool krsort ( array &$array [, int $sort_flags] ) 6 * Description: Sort an array by key in reverse order, maintaining key to data correlation. 7 * Source code: ext/standard/array.c 8*/ 9 10/* 11 * testing krsort() by providing array of mixed values for $array argument 12 * with following flag values: 13 * 1.flag value as defualt 14 * 2.SORT_REGULAR - compare items normally 15*/ 16 17echo "*** Testing krsort() : usage variations ***\n"; 18 19// mixed value array with different key values 20$mixed_values = array ( 21 "array1" => array(), 22 "array2" => array ( "sub_array[2,1]" => array(33,-5,6), "sub_array[2,2]" => array(11), 23 "sub_array[2,3]" => array(22,-55), "sub_array[2,4]" => array() 24 ), 25 4 => 4, "4" => "4", 4.01 => 4.01, "b" => "b", "5" => "5", -2 => -2, -2.01 => -2.01, 26 -2.98989 => -2.98989, "-.9" => "-.9", "True" => "True", "" => "", NULL => NULL, 27 "ab" => "ab", "abcd" => "abcd", 0.01 => 0.01, -0 => -0, '' => '' , 28 "abcd\x00abcd\x00abcd" => "abcd\x00abcd\x00abcd", 0.001 => 0.001 29); 30 31echo "\n-- Testing krsort() by supplying mixed value array, 'flag' value is defualt --\n"; 32$temp_array = $mixed_values; 33var_dump( krsort($temp_array) ); 34var_dump($temp_array); 35 36echo "\n-- Testing krsort() by supplying mixed value array, 'flag' value is SORT_REGULAR --\n"; 37$temp_array = $mixed_values; 38var_dump( krsort($temp_array, SORT_REGULAR) ); 39var_dump($temp_array); 40 41echo "Done\n"; 42?> 43--EXPECTF-- 44*** Testing krsort() : usage variations *** 45 46-- Testing krsort() by supplying mixed value array, 'flag' value is defualt -- 47bool(true) 48array(13) { 49 [5]=> 50 string(1) "5" 51 [4]=> 52 float(4.01) 53 [0]=> 54 float(0.001) 55 ["b"]=> 56 string(1) "b" 57 ["array2"]=> 58 array(4) { 59 ["sub_array[2,1]"]=> 60 array(3) { 61 [0]=> 62 int(33) 63 [1]=> 64 int(-5) 65 [2]=> 66 int(6) 67 } 68 ["sub_array[2,2]"]=> 69 array(1) { 70 [0]=> 71 int(11) 72 } 73 ["sub_array[2,3]"]=> 74 array(2) { 75 [0]=> 76 int(22) 77 [1]=> 78 int(-55) 79 } 80 ["sub_array[2,4]"]=> 81 array(0) { 82 } 83 } 84 ["array1"]=> 85 array(0) { 86 } 87 ["abcdabcdabcd"]=> 88 string(14) "abcdabcdabcd" 89 ["abcd"]=> 90 string(4) "abcd" 91 ["ab"]=> 92 string(2) "ab" 93 ["True"]=> 94 string(4) "True" 95 ["-.9"]=> 96 string(3) "-.9" 97 [""]=> 98 string(0) "" 99 [-2]=> 100 float(-2.98989) 101} 102 103-- Testing krsort() by supplying mixed value array, 'flag' value is SORT_REGULAR -- 104bool(true) 105array(13) { 106 [5]=> 107 string(1) "5" 108 [4]=> 109 float(4.01) 110 [0]=> 111 float(0.001) 112 ["b"]=> 113 string(1) "b" 114 ["array2"]=> 115 array(4) { 116 ["sub_array[2,1]"]=> 117 array(3) { 118 [0]=> 119 int(33) 120 [1]=> 121 int(-5) 122 [2]=> 123 int(6) 124 } 125 ["sub_array[2,2]"]=> 126 array(1) { 127 [0]=> 128 int(11) 129 } 130 ["sub_array[2,3]"]=> 131 array(2) { 132 [0]=> 133 int(22) 134 [1]=> 135 int(-55) 136 } 137 ["sub_array[2,4]"]=> 138 array(0) { 139 } 140 } 141 ["array1"]=> 142 array(0) { 143 } 144 ["abcdabcdabcd"]=> 145 string(14) "abcdabcdabcd" 146 ["abcd"]=> 147 string(4) "abcd" 148 ["ab"]=> 149 string(2) "ab" 150 ["True"]=> 151 string(4) "True" 152 ["-.9"]=> 153 string(3) "-.9" 154 [""]=> 155 string(0) "" 156 [-2]=> 157 float(-2.98989) 158} 159Done 160