Return to array_slice_variation5.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_slice() function : usage variations - Pass different integers as $offset argument 3: --FILE-- 4: <?php 5: /* Prototype : array array_slice(array $input, int $offset [, int $length [, bool $preserve_keys]]) 6: * Description: Returns elements specified by offset and length 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Pass different integers as $offset argument to test how array_slice() behaves 12: */ 13: 14: echo "*** Testing array_slice() : usage variations ***\n"; 15: 16: $input = array ('one' => 1, 2 => 'two', 'three', 9 => 'nine', 'ten' => 10); 17: 18: for ($i = -7; $i <= 7; $i++) { 19: echo "\n-- \$offset is $i --\n"; 20: var_dump(array_slice($input, $i)); 21: } 22: echo "\n-- \$offset is maximum integer value --\n"; 23: var_dump(array_slice($input, PHP_INT_MAX)); 24: 25: echo "\n-- \$offset is minimum integer value --\n"; 26: var_dump(array_slice($input, -PHP_INT_MAX)); 27: 28: echo "Done"; 29: ?> 30: 31: --EXPECTF-- 32: *** Testing array_slice() : usage variations *** 33: 34: -- $offset is -7 -- 35: array(5) { 36: ["one"]=> 37: int(1) 38: [0]=> 39: string(3) "two" 40: [1]=> 41: string(5) "three" 42: [2]=> 43: string(4) "nine" 44: ["ten"]=> 45: int(10) 46: } 47: 48: -- $offset is -6 -- 49: array(5) { 50: ["one"]=> 51: int(1) 52: [0]=> 53: string(3) "two" 54: [1]=> 55: string(5) "three" 56: [2]=> 57: string(4) "nine" 58: ["ten"]=> 59: int(10) 60: } 61: 62: -- $offset is -5 -- 63: array(5) { 64: ["one"]=> 65: int(1) 66: [0]=> 67: string(3) "two" 68: [1]=> 69: string(5) "three" 70: [2]=> 71: string(4) "nine" 72: ["ten"]=> 73: int(10) 74: } 75: 76: -- $offset is -4 -- 77: array(4) { 78: [0]=> 79: string(3) "two" 80: [1]=> 81: string(5) "three" 82: [2]=> 83: string(4) "nine" 84: ["ten"]=> 85: int(10) 86: } 87: 88: -- $offset is -3 -- 89: array(3) { 90: [0]=> 91: string(5) "three" 92: [1]=> 93: string(4) "nine" 94: ["ten"]=> 95: int(10) 96: } 97: 98: -- $offset is -2 -- 99: array(2) { 100: [0]=> 101: string(4) "nine" 102: ["ten"]=> 103: int(10) 104: } 105: 106: -- $offset is -1 -- 107: array(1) { 108: ["ten"]=> 109: int(10) 110: } 111: 112: -- $offset is 0 -- 113: array(5) { 114: ["one"]=> 115: int(1) 116: [0]=> 117: string(3) "two" 118: [1]=> 119: string(5) "three" 120: [2]=> 121: string(4) "nine" 122: ["ten"]=> 123: int(10) 124: } 125: 126: -- $offset is 1 -- 127: array(4) { 128: [0]=> 129: string(3) "two" 130: [1]=> 131: string(5) "three" 132: [2]=> 133: string(4) "nine" 134: ["ten"]=> 135: int(10) 136: } 137: 138: -- $offset is 2 -- 139: array(3) { 140: [0]=> 141: string(5) "three" 142: [1]=> 143: string(4) "nine" 144: ["ten"]=> 145: int(10) 146: } 147: 148: -- $offset is 3 -- 149: array(2) { 150: [0]=> 151: string(4) "nine" 152: ["ten"]=> 153: int(10) 154: } 155: 156: -- $offset is 4 -- 157: array(1) { 158: ["ten"]=> 159: int(10) 160: } 161: 162: -- $offset is 5 -- 163: array(0) { 164: } 165: 166: -- $offset is 6 -- 167: array(0) { 168: } 169: 170: -- $offset is 7 -- 171: array(0) { 172: } 173: 174: -- $offset is maximum integer value -- 175: array(0) { 176: } 177: 178: -- $offset is minimum integer value -- 179: array(5) { 180: ["one"]=> 181: int(1) 182: [0]=> 183: string(3) "two" 184: [1]=> 185: string(5) "three" 186: [2]=> 187: string(4) "nine" 188: ["ten"]=> 189: int(10) 190: } 191: Done