Annotation of embedaddon/php/ext/standard/tests/array/array_slice_variation6.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test array_slice() function : usage variations - pass different int values as $length arg
                      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 integer values as $length argument to array_slice() to test behaviour
                     12:  */
                     13: 
                     14: echo "*** Testing array_slice() : usage variations ***\n";
                     15: 
                     16: $input = array ('one' => 1, 2 => 'two', 'three', 9 => 'nine', 'ten' => 10);
                     17: $offset = 1;
                     18: 
                     19: for ($i = -6; $i <= 6; $i++) {
                     20:        echo "\n-- \$length is $i --\n";
                     21:        var_dump(array_slice($input, $offset, $i));
                     22: }
                     23: echo "\n-- \$length is maximum integer value --\n";
                     24: var_dump(array_slice($input, $offset, PHP_INT_MAX));
                     25: 
                     26: echo "\n-- \$length is minimum integer value --\n";
                     27: var_dump(array_slice($input, $offset, -PHP_INT_MAX));
                     28: 
                     29: echo "Done";
                     30: ?>
                     31: 
                     32: --EXPECTF--
                     33: *** Testing array_slice() : usage variations ***
                     34: 
                     35: -- $length is -6 --
                     36: array(0) {
                     37: }
                     38: 
                     39: -- $length is -5 --
                     40: array(0) {
                     41: }
                     42: 
                     43: -- $length is -4 --
                     44: array(0) {
                     45: }
                     46: 
                     47: -- $length is -3 --
                     48: array(1) {
                     49:   [0]=>
                     50:   string(3) "two"
                     51: }
                     52: 
                     53: -- $length is -2 --
                     54: array(2) {
                     55:   [0]=>
                     56:   string(3) "two"
                     57:   [1]=>
                     58:   string(5) "three"
                     59: }
                     60: 
                     61: -- $length is -1 --
                     62: array(3) {
                     63:   [0]=>
                     64:   string(3) "two"
                     65:   [1]=>
                     66:   string(5) "three"
                     67:   [2]=>
                     68:   string(4) "nine"
                     69: }
                     70: 
                     71: -- $length is 0 --
                     72: array(0) {
                     73: }
                     74: 
                     75: -- $length is 1 --
                     76: array(1) {
                     77:   [0]=>
                     78:   string(3) "two"
                     79: }
                     80: 
                     81: -- $length is 2 --
                     82: array(2) {
                     83:   [0]=>
                     84:   string(3) "two"
                     85:   [1]=>
                     86:   string(5) "three"
                     87: }
                     88: 
                     89: -- $length is 3 --
                     90: array(3) {
                     91:   [0]=>
                     92:   string(3) "two"
                     93:   [1]=>
                     94:   string(5) "three"
                     95:   [2]=>
                     96:   string(4) "nine"
                     97: }
                     98: 
                     99: -- $length is 4 --
                    100: array(4) {
                    101:   [0]=>
                    102:   string(3) "two"
                    103:   [1]=>
                    104:   string(5) "three"
                    105:   [2]=>
                    106:   string(4) "nine"
                    107:   ["ten"]=>
                    108:   int(10)
                    109: }
                    110: 
                    111: -- $length is 5 --
                    112: array(4) {
                    113:   [0]=>
                    114:   string(3) "two"
                    115:   [1]=>
                    116:   string(5) "three"
                    117:   [2]=>
                    118:   string(4) "nine"
                    119:   ["ten"]=>
                    120:   int(10)
                    121: }
                    122: 
                    123: -- $length is 6 --
                    124: array(4) {
                    125:   [0]=>
                    126:   string(3) "two"
                    127:   [1]=>
                    128:   string(5) "three"
                    129:   [2]=>
                    130:   string(4) "nine"
                    131:   ["ten"]=>
                    132:   int(10)
                    133: }
                    134: 
                    135: -- $length is maximum integer value --
                    136: array(4) {
                    137:   [0]=>
                    138:   string(3) "two"
                    139:   [1]=>
                    140:   string(5) "three"
                    141:   [2]=>
                    142:   string(4) "nine"
                    143:   ["ten"]=>
                    144:   int(10)
                    145: }
                    146: 
                    147: -- $length is minimum integer value --
                    148: array(0) {
                    149: }
                    150: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>