Annotation of embedaddon/php/ext/standard/tests/array/usort_variation6.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test usort() function : usage variations - multi-dimensional arrays
! 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 a multi-dimensional array as $array_arg argument to usort()
! 12: * to test how array is re-ordered
! 13: */
! 14:
! 15: echo "*** Testing usort() : usage variation ***\n";
! 16:
! 17: function cmp_function($value1, $value2)
! 18: {
! 19: if($value1 == $value2) {
! 20: return 0;
! 21: }
! 22: else if($value1 > $value2) {
! 23: return 1;
! 24: }
! 25: else {
! 26: return -1;
! 27: }
! 28: }
! 29:
! 30: $array_args = array(
! 31: 0 => array(2, 10, -1),
! 32: 1 => array(100),
! 33: 2 => array(),
! 34: 3 => array(0),
! 35: 4 => array(-1),
! 36: 5 => array(-9, 34, 54, 0, 20),
! 37: 6 => array(''),
! 38: 7 => array("apple", "Apple", "APPLE", "aPPle", "aPpLe")
! 39: );
! 40:
! 41: $temp_array = $array_args;
! 42:
! 43: echo "\n-- Pass usort() a two-dimensional array --\n";
! 44: // sorting array_arg as whole array
! 45: var_dump( usort($temp_array, 'cmp_function') );
! 46:
! 47: echo "-- Array after call to usort() --\n";
! 48: var_dump($temp_array);
! 49:
! 50: echo "\n-- Pass usort() a sub-array --\n";
! 51: var_dump( usort($array_args[5], 'cmp_function') );
! 52:
! 53: echo "-- Array after call to usort() --\n";
! 54: var_dump($array_args[5]);
! 55: ?>
! 56: ===DONE===
! 57: --EXPECTF--
! 58: *** Testing usort() : usage variation ***
! 59:
! 60: -- Pass usort() a two-dimensional array --
! 61: bool(true)
! 62: -- Array after call to usort() --
! 63: array(8) {
! 64: [0]=>
! 65: array(0) {
! 66: }
! 67: [1]=>
! 68: array(1) {
! 69: [0]=>
! 70: int(-1)
! 71: }
! 72: [2]=>
! 73: array(1) {
! 74: [0]=>
! 75: string(0) ""
! 76: }
! 77: [3]=>
! 78: array(1) {
! 79: [0]=>
! 80: int(0)
! 81: }
! 82: [4]=>
! 83: array(1) {
! 84: [0]=>
! 85: int(100)
! 86: }
! 87: [5]=>
! 88: array(3) {
! 89: [0]=>
! 90: int(2)
! 91: [1]=>
! 92: int(10)
! 93: [2]=>
! 94: int(-1)
! 95: }
! 96: [6]=>
! 97: array(5) {
! 98: [0]=>
! 99: int(-9)
! 100: [1]=>
! 101: int(34)
! 102: [2]=>
! 103: int(54)
! 104: [3]=>
! 105: int(0)
! 106: [4]=>
! 107: int(20)
! 108: }
! 109: [7]=>
! 110: array(5) {
! 111: [0]=>
! 112: string(5) "apple"
! 113: [1]=>
! 114: string(5) "Apple"
! 115: [2]=>
! 116: string(5) "APPLE"
! 117: [3]=>
! 118: string(5) "aPPle"
! 119: [4]=>
! 120: string(5) "aPpLe"
! 121: }
! 122: }
! 123:
! 124: -- Pass usort() a sub-array --
! 125: bool(true)
! 126: -- Array after call to usort() --
! 127: array(5) {
! 128: [0]=>
! 129: int(-9)
! 130: [1]=>
! 131: int(0)
! 132: [2]=>
! 133: int(20)
! 134: [3]=>
! 135: int(34)
! 136: [4]=>
! 137: int(54)
! 138: }
! 139: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>