Annotation of embedaddon/php/ext/standard/tests/array/usort_variation4.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test usort() function : usage variations - numeric data
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : bool usort(array $array_arg, string $cmp_function)
! 6: * Description: Sort an array by values using a user-defined comparison function
! 7: * Source code: ext/standard/array.c
! 8: */
! 9:
! 10: /*
! 11: * Pass arrays of numeric data to usort() to test how it is re-ordered
! 12: */
! 13:
! 14: echo "*** Testing usort() : usage variation ***\n";
! 15:
! 16: function cmp_function($value1, $value2)
! 17: {
! 18: if($value1 == $value2) {
! 19: return 0;
! 20: }
! 21: else if($value1 > $value2) {
! 22: return 1;
! 23: }
! 24: else {
! 25: return -1;
! 26: }
! 27: }
! 28:
! 29: // Int array
! 30: $int_values = array(0 => 3, 1 => 2, 3 => 100,
! 31: 4 => 150, 5 => 25, 6 => 350,
! 32: 7 => 0, 8 => -3, 9 => -1200);
! 33:
! 34: echo "\n-- Sorting Integer array --\n";
! 35: var_dump( usort($int_values, 'cmp_function') );
! 36: var_dump($int_values);
! 37:
! 38: // Octal array
! 39: $octal_values = array(0 => 056, 1 => 023, 2 => 090,
! 40: 3 => 015, 4 => -045, 5 => 01, 6 => -078);
! 41:
! 42: echo "\n-- Sorting Octal array --\n";
! 43: var_dump( usort($octal_values, 'cmp_function') );
! 44: var_dump($octal_values);
! 45:
! 46: // Hexadecimal array
! 47: $hex_values = array(0 => 0xAE, 1 => 0x2B, 2 => 0X10,
! 48: 3 => -0xCF, 4 => 0X12, 5 => -0XF2);
! 49:
! 50: echo "\n-- Sorting Hex array --\n";
! 51: var_dump( usort($hex_values, 'cmp_function') );
! 52: var_dump($hex_values);
! 53:
! 54: // Float array
! 55: $float_values = array( 0 => 10.2, 1 => 2.4, 2 => -3.4,
! 56: 3 => 0, 4 => 0.5, 5 => 7.3e3, 6 => -9.34E-2);
! 57:
! 58: echo "\n-- Sorting Float array --\n";
! 59: var_dump( usort($float_values, 'cmp_function') );
! 60: var_dump($float_values);
! 61:
! 62: // empty array
! 63: $empty_array = array();
! 64:
! 65: echo "\n-- Sorting empty array --\n";
! 66: var_dump( usort($empty_array, 'cmp_function') );
! 67: var_dump($empty_array);
! 68: ?>
! 69: ===DONE===
! 70: --EXPECTF--
! 71: *** Testing usort() : usage variation ***
! 72:
! 73: -- Sorting Integer array --
! 74: bool(true)
! 75: array(9) {
! 76: [0]=>
! 77: int(-1200)
! 78: [1]=>
! 79: int(-3)
! 80: [2]=>
! 81: int(0)
! 82: [3]=>
! 83: int(2)
! 84: [4]=>
! 85: int(3)
! 86: [5]=>
! 87: int(25)
! 88: [6]=>
! 89: int(100)
! 90: [7]=>
! 91: int(150)
! 92: [8]=>
! 93: int(350)
! 94: }
! 95:
! 96: -- Sorting Octal array --
! 97: bool(true)
! 98: array(7) {
! 99: [0]=>
! 100: int(-37)
! 101: [1]=>
! 102: int(-7)
! 103: [2]=>
! 104: int(0)
! 105: [3]=>
! 106: int(1)
! 107: [4]=>
! 108: int(13)
! 109: [5]=>
! 110: int(19)
! 111: [6]=>
! 112: int(46)
! 113: }
! 114:
! 115: -- Sorting Hex array --
! 116: bool(true)
! 117: array(6) {
! 118: [0]=>
! 119: int(-242)
! 120: [1]=>
! 121: int(-207)
! 122: [2]=>
! 123: int(16)
! 124: [3]=>
! 125: int(18)
! 126: [4]=>
! 127: int(43)
! 128: [5]=>
! 129: int(174)
! 130: }
! 131:
! 132: -- Sorting Float array --
! 133: bool(true)
! 134: array(7) {
! 135: [0]=>
! 136: float(-3.4)
! 137: [1]=>
! 138: float(-0.0934)
! 139: [2]=>
! 140: int(0)
! 141: [3]=>
! 142: float(0.5)
! 143: [4]=>
! 144: float(2.4)
! 145: [5]=>
! 146: float(10.2)
! 147: [6]=>
! 148: float(7300)
! 149: }
! 150:
! 151: -- Sorting empty array --
! 152: bool(true)
! 153: array(0) {
! 154: }
! 155: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>