Annotation of embedaddon/php/ext/standard/tests/array/uasort_basic2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test uasort() function : basic functionality - duplicate values
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : bool uasort(array $array_arg, string $cmp_function)
! 6: * Description: Sort an array with a user-defined comparison function and maintain index association
! 7: * Source code: ext/standard/array.c
! 8: */
! 9:
! 10: echo "*** Testing uasort() : basic functionality with duplicate values ***\n";
! 11:
! 12: // comparison function
! 13: /* Prototype : int cmp(mixed $value1, mixed $value2)
! 14: * Parameters : $value1 and $value2 - values to be compared
! 15: * Return value : 0 - if both values are same
! 16: * 1 - if value1 is greater than value2
! 17: * -1 - if value1 is less than value2
! 18: * Description : compares value1 and value2
! 19: */
! 20: function cmp($value1, $value2)
! 21: {
! 22: if($value1 == $value2) {
! 23: return 0;
! 24: }
! 25: else if($value1 > $value2) {
! 26: return 1;
! 27: }
! 28: else
! 29: return -1;
! 30: }
! 31:
! 32: // increasing values
! 33: $int_values1 = array(1, 1, 2, 2, 3, 3);
! 34: echo "-- Numeric array with increasing values --\n";
! 35: var_dump( uasort($int_values1, 'cmp') );
! 36: var_dump($int_values1);
! 37:
! 38: // decreasing values
! 39: $int_values2 = array(3, 3, 2, 2, 1, 1);
! 40: echo "-- Numeric array with decreasing values --\n";
! 41: var_dump( uasort($int_values2, 'cmp') );
! 42: var_dump($int_values2);
! 43:
! 44: // increasing and decreasing values
! 45: $int_values3 = array(1, 2, 3, 3, 2, 1);
! 46: echo "-- Numeric array with increasing and decreasing values --\n";
! 47: var_dump( uasort($int_values3, 'cmp') );
! 48: var_dump($int_values3);
! 49:
! 50: echo "Done"
! 51: ?>
! 52: --EXPECTF--
! 53: *** Testing uasort() : basic functionality with duplicate values ***
! 54: -- Numeric array with increasing values --
! 55: bool(true)
! 56: array(6) {
! 57: [0]=>
! 58: int(1)
! 59: [1]=>
! 60: int(1)
! 61: [3]=>
! 62: int(2)
! 63: [2]=>
! 64: int(2)
! 65: [5]=>
! 66: int(3)
! 67: [4]=>
! 68: int(3)
! 69: }
! 70: -- Numeric array with decreasing values --
! 71: bool(true)
! 72: array(6) {
! 73: [4]=>
! 74: int(1)
! 75: [5]=>
! 76: int(1)
! 77: [3]=>
! 78: int(2)
! 79: [2]=>
! 80: int(2)
! 81: [1]=>
! 82: int(3)
! 83: [0]=>
! 84: int(3)
! 85: }
! 86: -- Numeric array with increasing and decreasing values --
! 87: bool(true)
! 88: array(6) {
! 89: [5]=>
! 90: int(1)
! 91: [0]=>
! 92: int(1)
! 93: [1]=>
! 94: int(2)
! 95: [4]=>
! 96: int(2)
! 97: [2]=>
! 98: int(3)
! 99: [3]=>
! 100: int(3)
! 101: }
! 102: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>