1--TEST-- 2Test ksort() function : usage variations - sort octal values 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 octal values for $array argument 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*/ 16 17echo "*** Testing ksort() : usage variations ***\n"; 18 19// an array containing unsorted octal values 20$unsorted_oct_array = array ( 21 01235 => 01, 0321 => 02, 0345 => 03, 066 => 04, 0772 => 05, 22 077 => 06, -066 => -01, -0345 => -02, 0 => 0 23); 24 25echo "\n-- Testing ksort() by supplying octal value array, 'flag' value is defualt --\n"; 26$temp_array = $unsorted_oct_array; 27var_dump( ksort($temp_array) ); // expecting : bool(true) 28var_dump($temp_array); 29 30echo "\n-- Testing ksort() by supplying octal value array, 'flag' value is SORT_REGULAR --\n"; 31$temp_array = $unsorted_oct_array; 32var_dump( ksort($temp_array, SORT_REGULAR) ); // expecting : bool(true) 33var_dump($temp_array); 34 35echo "\n-- Testing ksort() by supplying octal value array, 'flag' value is SORT_NUMERIC --\n"; 36$temp_array = $unsorted_oct_array; 37var_dump( ksort($temp_array, SORT_NUMERIC) ); // expecting : bool(true) 38var_dump($temp_array); 39 40echo "Done\n"; 41?> 42--EXPECTF-- 43*** Testing ksort() : usage variations *** 44 45-- Testing ksort() by supplying octal value array, 'flag' value is defualt -- 46bool(true) 47array(9) { 48 [-229]=> 49 int(-2) 50 [-54]=> 51 int(-1) 52 [0]=> 53 int(0) 54 [54]=> 55 int(4) 56 [63]=> 57 int(6) 58 [209]=> 59 int(2) 60 [229]=> 61 int(3) 62 [506]=> 63 int(5) 64 [669]=> 65 int(1) 66} 67 68-- Testing ksort() by supplying octal value array, 'flag' value is SORT_REGULAR -- 69bool(true) 70array(9) { 71 [-229]=> 72 int(-2) 73 [-54]=> 74 int(-1) 75 [0]=> 76 int(0) 77 [54]=> 78 int(4) 79 [63]=> 80 int(6) 81 [209]=> 82 int(2) 83 [229]=> 84 int(3) 85 [506]=> 86 int(5) 87 [669]=> 88 int(1) 89} 90 91-- Testing ksort() by supplying octal value array, 'flag' value is SORT_NUMERIC -- 92bool(true) 93array(9) { 94 [-229]=> 95 int(-2) 96 [-54]=> 97 int(-1) 98 [0]=> 99 int(0) 100 [54]=> 101 int(4) 102 [63]=> 103 int(6) 104 [209]=> 105 int(2) 106 [229]=> 107 int(3) 108 [506]=> 109 int(5) 110 [669]=> 111 int(1) 112} 113Done 114