Annotation of embedaddon/php/ext/standard/tests/array/ksort_basic.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test 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:
! 18: echo "*** 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:
! 25: echo "\n-- Testing ksort() by supplying string array, 'flag' value is defualt --\n";
! 26: $temp_array = $unsorted_strings;
! 27: var_dump( ksort($temp_array) ); // expecting : bool(true)
! 28: var_dump( $temp_array);
! 29:
! 30: echo "\n-- Testing ksort() by supplying numeric array, 'flag' value is defualt --\n";
! 31: $temp_array = $unsorted_numerics;
! 32: var_dump( ksort($temp_array) ); // expecting : bool(true)
! 33: var_dump( $temp_array);
! 34:
! 35: echo "\n-- Testing ksort() by supplying string array, 'flag' = SORT_REGULAR --\n";
! 36: $temp_array = $unsorted_strings;
! 37: var_dump( ksort($temp_array, SORT_REGULAR) ); // expecting : bool(true)
! 38: var_dump( $temp_array);
! 39:
! 40: echo "\n-- Testing ksort() by supplying numeric array, 'flag' = SORT_REGULAR --\n";
! 41: $temp_array = $unsorted_numerics;
! 42: var_dump( ksort($temp_array, SORT_REGULAR) ); // expecting : bool(true)
! 43: var_dump( $temp_array);
! 44:
! 45: echo "\n-- Testing ksort() by supplying string array, 'flag' = SORT_STRING --\n";
! 46: $temp_array = $unsorted_strings;
! 47: var_dump( ksort($temp_array, SORT_STRING) ); // expecting : bool(true)
! 48: var_dump( $temp_array);
! 49:
! 50: echo "\n-- Testing ksort() by supplying numeric array, 'flag' = SORT_NUMERIC --\n";
! 51: $temp_array = $unsorted_numerics;
! 52: var_dump( ksort($temp_array, SORT_NUMERIC) ); // expecting : bool(true)
! 53: var_dump( $temp_array);
! 54:
! 55: echo "Done\n";
! 56: ?>
! 57: --EXPECTF--
! 58: *** Testing ksort() : basic functionality ***
! 59:
! 60: -- Testing ksort() by supplying string array, 'flag' value is defualt --
! 61: bool(true)
! 62: array(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 --
! 72: bool(true)
! 73: array(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 --
! 85: bool(true)
! 86: array(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 --
! 96: bool(true)
! 97: array(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 --
! 109: bool(true)
! 110: array(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 --
! 120: bool(true)
! 121: array(4) {
! 122: [22]=>
! 123: int(1)
! 124: [33]=>
! 125: int(3)
! 126: [100]=>
! 127: int(4)
! 128: [555]=>
! 129: int(2)
! 130: }
! 131: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>