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