Return to asort_variation8.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test asort() function : usage variations - sort array with diff. sub arrays, 'sort_flags' as default/SORT_REGULAR 3: --FILE-- 4: <?php 5: /* Prototype : bool asort ( array &$array [, int $sort_flags] ) 6: * Description: Sort an array and maintain index association. 7: Elements will be arranged from lowest to highest when this function has completed. 8: * Source code: ext/standard/array.c 9: */ 10: 11: /* 12: * testing asort() by providing arrays contains sub arrays for $array argument with flowing flag values 13: * flag value as default 14: * SORT_REGULAR - compare items normally 15: * Note: arrays are sorted based on total count of elements inside it, when all the elements are arrays 16: */ 17: 18: echo "*** Testing asort() : usage variations ***\n"; 19: 20: // array of arrays 21: $various_arrays = array ( 22: // null array 23: "array[0]" => array(), 24: 25: // array contains null sub array 26: "array[1]" => array( "sub_array[1][0]" => array() ), 27: 28: // array of arrays along with some values 29: "array[2]" => array("data[2,0]" => 44, "data[2,1]" => 11, "sub_array[2][0] " => array(64,61) ), 30: 31: // array contains sub arrays 32: "array[3]" => array ( "sub_array[3][0]" => array(33,-5,6), "sub_array[3][1]" => array(11), 33: "sub_array[3][2]" => array(22,-55), "sub_array[3][3]" => array() ) 34: ); 35: 36: 37: $count = 1; 38: echo "\n-- Testing asort() by supplying various arrays containing sub arrays --\n"; 39: 40: // loop through to test asort() with different arrays 41: foreach ($various_arrays as $array) { 42: 43: echo "\n-- Iteration $count --\n"; 44: // testing asort() function by supplying different arrays, flag value is default 45: echo "- With default sort_flag -\n"; 46: $temp_array = $array; 47: var_dump(asort($temp_array) ); 48: var_dump($temp_array); 49: 50: // testing asort() function by supplying different arrays, flag value = SORT_REGULAR 51: echo "- Sort_flag = SORT_REGULAR -\n"; 52: $temp_array = $array; 53: var_dump(asort($temp_array, SORT_REGULAR) ); 54: var_dump($temp_array); 55: $count++; 56: } 57: 58: echo "Done\n"; 59: ?> 60: --EXPECTF-- 61: *** Testing asort() : usage variations *** 62: 63: -- Testing asort() by supplying various arrays containing sub arrays -- 64: 65: -- Iteration 1 -- 66: - With default sort_flag - 67: bool(true) 68: array(0) { 69: } 70: - Sort_flag = SORT_REGULAR - 71: bool(true) 72: array(0) { 73: } 74: 75: -- Iteration 2 -- 76: - With default sort_flag - 77: bool(true) 78: array(1) { 79: ["sub_array[1][0]"]=> 80: array(0) { 81: } 82: } 83: - Sort_flag = SORT_REGULAR - 84: bool(true) 85: array(1) { 86: ["sub_array[1][0]"]=> 87: array(0) { 88: } 89: } 90: 91: -- Iteration 3 -- 92: - With default sort_flag - 93: bool(true) 94: array(3) { 95: ["data[2,1]"]=> 96: int(11) 97: ["data[2,0]"]=> 98: int(44) 99: ["sub_array[2][0] "]=> 100: array(2) { 101: [0]=> 102: int(64) 103: [1]=> 104: int(61) 105: } 106: } 107: - Sort_flag = SORT_REGULAR - 108: bool(true) 109: array(3) { 110: ["data[2,1]"]=> 111: int(11) 112: ["data[2,0]"]=> 113: int(44) 114: ["sub_array[2][0] "]=> 115: array(2) { 116: [0]=> 117: int(64) 118: [1]=> 119: int(61) 120: } 121: } 122: 123: -- Iteration 4 -- 124: - With default sort_flag - 125: bool(true) 126: array(4) { 127: ["sub_array[3][3]"]=> 128: array(0) { 129: } 130: ["sub_array[3][1]"]=> 131: array(1) { 132: [0]=> 133: int(11) 134: } 135: ["sub_array[3][2]"]=> 136: array(2) { 137: [0]=> 138: int(22) 139: [1]=> 140: int(-55) 141: } 142: ["sub_array[3][0]"]=> 143: array(3) { 144: [0]=> 145: int(33) 146: [1]=> 147: int(-5) 148: [2]=> 149: int(6) 150: } 151: } 152: - Sort_flag = SORT_REGULAR - 153: bool(true) 154: array(4) { 155: ["sub_array[3][3]"]=> 156: array(0) { 157: } 158: ["sub_array[3][1]"]=> 159: array(1) { 160: [0]=> 161: int(11) 162: } 163: ["sub_array[3][2]"]=> 164: array(2) { 165: [0]=> 166: int(22) 167: [1]=> 168: int(-55) 169: } 170: ["sub_array[3][0]"]=> 171: array(3) { 172: [0]=> 173: int(33) 174: [1]=> 175: int(-5) 176: [2]=> 177: int(6) 178: } 179: } 180: Done