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