Return to krsort_variation5.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test krsort() function : usage variations - sort strings 3: --SKIPIF-- 4: <?php 5: if (substr(PHP_OS, 0, 3) == 'WIN') { 6: die("skip Output tested contains chars that are not shown the same on windows concole (ESC and co)"); 7: } 8: --FILE-- 9: <?php 10: /* Prototype : bool krsort ( array &$array [, int $sort_flags] ) 11: * Description: Sort an array by key in reverse order, maintaining key to data correlation 12: * Source code: ext/standard/array.c 13: */ 14: 15: /* 16: * testing krsort() by providing array of string values for $array argument with 17: * following flag values: 18: * 1.flag value as defualt 19: * 2.SORT_REGULAR - compare items normally 20: * 3.SORT_STRING - compare items as strings 21: */ 22: 23: echo "*** Testing krsort() : usage variations ***\n"; 24: 25: $various_arrays = array ( 26: // diff. escape sequence chars with key values 27: array ( null => null, NULL => NULL, "\a" => "\a", "\cx" => "\cx", "\e" => "\e", 28: "\f" => "\f", "\n" =>"\n", "\r" => "\r", "\t" => "\t", "\xhh" => "\xhh", 29: "\ddd" => "\ddd", "\v" => "\v" 30: ), 31: 32: // array containing different strings with key values 33: array ( 'Lemon' => "lemoN", 'o' => "Orange", 'B' => "banana", 'Apple' => "apple", 'te' => "Test", 34: 't' => "TTTT", 'T' => "ttt", 'W' => "ww", 'X' => "x", 'x' => "X", 'O' => "oraNGe", 35: 'B' => "BANANA" 36: ) 37: ); 38: 39: $flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING); 40: 41: $count = 1; 42: echo "\n-- Testing krsort() by supplying various string arrays --\n"; 43: 44: // loop through to test krsort() with different arrays 45: foreach ($various_arrays as $array) { 46: echo "\n-- Iteration $count --\n"; 47: 48: echo "- With defualt sort flag -\n"; 49: $temp_array = $array; 50: var_dump(krsort($temp_array) ); // expecting : bool(true) 51: var_dump($temp_array); 52: 53: // loop through $flags array and call krsort() with all possible sort flag values 54: foreach($flags as $key => $flag){ 55: echo "- Sort flag = $key -\n"; 56: $temp_array = $array; 57: var_dump(krsort($temp_array, $flag) ); // expecting : bool(true) 58: var_dump($temp_array); 59: } 60: $count++; 61: } 62: 63: echo "Done\n"; 64: ?> 65: --EXPECTF-- 66: *** Testing krsort() : usage variations *** 67: 68: -- Testing krsort() by supplying various string arrays -- 69: 70: -- Iteration 1 -- 71: - With defualt sort flag - 72: bool(true) 73: array(11) { 74: ["\xhh"]=> 75: string(4) "\xhh" 76: ["\ddd"]=> 77: string(4) "\ddd" 78: ["\cx"]=> 79: string(3) "\cx" 80: ["\a"]=> 81: string(2) "\a" 1.1.1.2 ! misho 82: [""]=> ! 83: string(1) "" ! 84: [" "]=> ! 85: string(1) " " 1.1 misho 86: [""]=> 87: string(1) "" 88: [""]=> 89: string(1) "" 90: [" 91: "]=> 92: string(1) " 93: " 94: [" "]=> 95: string(1) " " 96: [""]=> 97: NULL 98: } 99: - Sort flag = SORT_REGULAR - 100: bool(true) 101: array(11) { 102: ["\xhh"]=> 103: string(4) "\xhh" 104: ["\ddd"]=> 105: string(4) "\ddd" 106: ["\cx"]=> 107: string(3) "\cx" 108: ["\a"]=> 109: string(2) "\a" 1.1.1.2 ! misho 110: [""]=> ! 111: string(1) "" ! 112: [" "]=> ! 113: string(1) " " 1.1 misho 114: [""]=> 115: string(1) "" 116: [""]=> 117: string(1) "" 118: [" 119: "]=> 120: string(1) " 121: " 122: [" "]=> 123: string(1) " " 124: [""]=> 125: NULL 126: } 127: - Sort flag = SORT_STRING - 128: bool(true) 129: array(11) { 130: ["\xhh"]=> 131: string(4) "\xhh" 132: ["\ddd"]=> 133: string(4) "\ddd" 134: ["\cx"]=> 135: string(3) "\cx" 136: ["\a"]=> 137: string(2) "\a" 1.1.1.2 ! misho 138: [""]=> ! 139: string(1) "" ! 140: [" "]=> ! 141: string(1) " " 1.1 misho 142: [""]=> 143: string(1) "" 144: [""]=> 145: string(1) "" 146: [" 147: "]=> 148: string(1) " 149: " 150: [" "]=> 151: string(1) " " 152: [""]=> 153: NULL 154: } 155: 156: -- Iteration 2 -- 157: - With defualt sort flag - 158: bool(true) 159: array(11) { 160: ["x"]=> 161: string(1) "X" 162: ["te"]=> 163: string(4) "Test" 164: ["t"]=> 165: string(4) "TTTT" 166: ["o"]=> 167: string(6) "Orange" 168: ["X"]=> 169: string(1) "x" 170: ["W"]=> 171: string(2) "ww" 172: ["T"]=> 173: string(3) "ttt" 174: ["O"]=> 175: string(6) "oraNGe" 176: ["Lemon"]=> 177: string(5) "lemoN" 178: ["B"]=> 179: string(6) "BANANA" 180: ["Apple"]=> 181: string(5) "apple" 182: } 183: - Sort flag = SORT_REGULAR - 184: bool(true) 185: array(11) { 186: ["x"]=> 187: string(1) "X" 188: ["te"]=> 189: string(4) "Test" 190: ["t"]=> 191: string(4) "TTTT" 192: ["o"]=> 193: string(6) "Orange" 194: ["X"]=> 195: string(1) "x" 196: ["W"]=> 197: string(2) "ww" 198: ["T"]=> 199: string(3) "ttt" 200: ["O"]=> 201: string(6) "oraNGe" 202: ["Lemon"]=> 203: string(5) "lemoN" 204: ["B"]=> 205: string(6) "BANANA" 206: ["Apple"]=> 207: string(5) "apple" 208: } 209: - Sort flag = SORT_STRING - 210: bool(true) 211: array(11) { 212: ["x"]=> 213: string(1) "X" 214: ["te"]=> 215: string(4) "Test" 216: ["t"]=> 217: string(4) "TTTT" 218: ["o"]=> 219: string(6) "Orange" 220: ["X"]=> 221: string(1) "x" 222: ["W"]=> 223: string(2) "ww" 224: ["T"]=> 225: string(3) "ttt" 226: ["O"]=> 227: string(6) "oraNGe" 228: ["Lemon"]=> 229: string(5) "lemoN" 230: ["B"]=> 231: string(6) "BANANA" 232: ["Apple"]=> 233: string(5) "apple" 234: } 235: Done