1--TEST-- 2Test krsort() function : basic functionality 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 integer/string values to check the basic functionality 12 * with following flag values : 13 * 1.flag value as defualt 14 * 2.SORT_REGULAR - compare items normally 15 * 3.SORT_NUMERIC - compare items numerically 16 * 4.SORT_STRING - compare items as strings 17*/ 18 19echo "*** Testing krsort() : basic functionality ***\n"; 20 21// an array containing unsorted string values with indices 22$unsorted_strings = array( "lemon" => "l", "orange" => "o", "banana" => "b" ); 23// an array containing unsorted numeric values with indices 24$unsorted_numerics = array( 100 => 4, 33 => 3, 555 => 2, 22 => 1 ); 25 26echo "\n-- Testing krsort() by supplying string array, 'flag' value is defualt --\n"; 27$temp_array = $unsorted_strings; 28var_dump( krsort($temp_array) ); // expecting : bool(true) 29var_dump( $temp_array); 30 31echo "\n-- Testing krsort() by supplying numeric array, 'flag' value is defualt --\n"; 32$temp_array = $unsorted_numerics; 33var_dump( krsort($temp_array) ); // expecting : bool(true) 34var_dump( $temp_array); 35 36echo "\n-- Testing krsort() by supplying string array, 'flag' = SORT_REGULAR --\n"; 37$temp_array = $unsorted_strings; 38var_dump( krsort($temp_array, SORT_REGULAR) ); // expecting : bool(true) 39var_dump( $temp_array); 40 41echo "\n-- Testing krsort() by supplying numeric array, 'flag' = SORT_REGULAR --\n"; 42$temp_array = $unsorted_numerics; 43var_dump( krsort($temp_array, SORT_REGULAR) ); // expecting : bool(true) 44var_dump( $temp_array); 45 46echo "\n-- Testing krsort() by supplying string array, 'flag' = SORT_STRING --\n"; 47$temp_array = $unsorted_strings; 48var_dump( krsort($temp_array, SORT_STRING) ); // expecting : bool(true) 49var_dump( $temp_array); 50 51echo "\n-- Testing krsort() by supplying numeric array, 'flag' = SORT_NUMERIC --\n"; 52$temp_array = $unsorted_numerics; 53var_dump( krsort($temp_array, SORT_NUMERIC) ); // expecting : bool(true) 54var_dump( $temp_array); 55 56echo "Done\n"; 57?> 58--EXPECTF-- 59*** Testing krsort() : basic functionality *** 60 61-- Testing krsort() by supplying string array, 'flag' value is defualt -- 62bool(true) 63array(3) { 64 ["orange"]=> 65 string(1) "o" 66 ["lemon"]=> 67 string(1) "l" 68 ["banana"]=> 69 string(1) "b" 70} 71 72-- Testing krsort() by supplying numeric array, 'flag' value is defualt -- 73bool(true) 74array(4) { 75 [555]=> 76 int(2) 77 [100]=> 78 int(4) 79 [33]=> 80 int(3) 81 [22]=> 82 int(1) 83} 84 85-- Testing krsort() by supplying string array, 'flag' = SORT_REGULAR -- 86bool(true) 87array(3) { 88 ["orange"]=> 89 string(1) "o" 90 ["lemon"]=> 91 string(1) "l" 92 ["banana"]=> 93 string(1) "b" 94} 95 96-- Testing krsort() by supplying numeric array, 'flag' = SORT_REGULAR -- 97bool(true) 98array(4) { 99 [555]=> 100 int(2) 101 [100]=> 102 int(4) 103 [33]=> 104 int(3) 105 [22]=> 106 int(1) 107} 108 109-- Testing krsort() by supplying string array, 'flag' = SORT_STRING -- 110bool(true) 111array(3) { 112 ["orange"]=> 113 string(1) "o" 114 ["lemon"]=> 115 string(1) "l" 116 ["banana"]=> 117 string(1) "b" 118} 119 120-- Testing krsort() by supplying numeric array, 'flag' = SORT_NUMERIC -- 121bool(true) 122array(4) { 123 [555]=> 124 int(2) 125 [100]=> 126 int(4) 127 [33]=> 128 int(3) 129 [22]=> 130 int(1) 131} 132Done 133