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

1.1       misho       1: --TEST--
                      2: Test array_replace and array_replace_recursive
                      3: --FILE--
                      4: <?php
                      5: 
                      6: $array1 = array(
                      7:        0 => 'dontclobber',
                      8:        '1' => 'unclobbered',
                      9:        'test2' => 0.0,
                     10:        'test3' => array(
                     11:                'testarray2' => true,
                     12:                1 => array(
                     13:                        'testsubarray1' => 'dontclobber2',
                     14:                        'testsubarray2' => 'dontclobber3',
                     15:        ),
                     16:     ),
                     17: );
                     18: 
                     19: $array2 = array(
                     20:        1 => 'clobbered',
                     21:        'test3' => array(
                     22:                'testarray2' => false,
                     23:        ),
                     24:        'test4' => array(
                     25:                'clobbered3' => array(0, 1, 2),
                     26:        ),
                     27: );
                     28: 
                     29: $array3 = array(array(array(array())));
                     30: 
                     31: $array4 = array();
                     32: $array4[] = &$array4;
                     33: 
                     34: echo " -- Testing array_replace() --\n";
                     35: $data = array_replace($array1, $array2);
                     36: 
                     37: var_dump($data);
                     38: 
                     39: echo " -- Testing array_replace_recursive() --\n";
                     40: $data = array_replace_recursive($array1, $array2);
                     41: 
                     42: var_dump($data);
                     43: 
                     44: echo " -- Testing array_replace_recursive() w/ endless recusrsion --\n";
                     45: $data = array_replace_recursive($array3, $array4);
                     46: 
                     47: var_dump($data);
                     48: ?>
                     49: --EXPECTF--
                     50:  -- Testing array_replace() --
                     51: array(5) {
                     52:   [0]=>
                     53:   string(11) "dontclobber"
                     54:   [1]=>
                     55:   string(9) "clobbered"
                     56:   ["test2"]=>
                     57:   float(0)
                     58:   ["test3"]=>
                     59:   array(1) {
                     60:     ["testarray2"]=>
                     61:     bool(false)
                     62:   }
                     63:   ["test4"]=>
                     64:   array(1) {
                     65:     ["clobbered3"]=>
                     66:     array(3) {
                     67:       [0]=>
                     68:       int(0)
                     69:       [1]=>
                     70:       int(1)
                     71:       [2]=>
                     72:       int(2)
                     73:     }
                     74:   }
                     75: }
                     76:  -- Testing array_replace_recursive() --
                     77: array(5) {
                     78:   [0]=>
                     79:   string(11) "dontclobber"
                     80:   [1]=>
                     81:   string(9) "clobbered"
                     82:   ["test2"]=>
                     83:   float(0)
                     84:   ["test3"]=>
                     85:   array(2) {
                     86:     ["testarray2"]=>
                     87:     bool(false)
                     88:     [1]=>
                     89:     array(2) {
                     90:       ["testsubarray1"]=>
                     91:       string(12) "dontclobber2"
                     92:       ["testsubarray2"]=>
                     93:       string(12) "dontclobber3"
                     94:     }
                     95:   }
                     96:   ["test4"]=>
                     97:   array(1) {
                     98:     ["clobbered3"]=>
                     99:     array(3) {
                    100:       [0]=>
                    101:       int(0)
                    102:       [1]=>
                    103:       int(1)
                    104:       [2]=>
                    105:       int(2)
                    106:     }
                    107:   }
                    108: }
                    109:  -- Testing array_replace_recursive() w/ endless recusrsion --
                    110: 
                    111: Warning: array_replace_recursive(): recursion detected in %s on line %d
                    112: array(1) {
                    113:   [0]=>
                    114:   array(1) {
                    115:     [0]=>
                    116:     array(1) {
                    117:       [0]=>
                    118:       array(0) {
                    119:       }
                    120:     }
                    121:   }
                    122: }

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