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

1.1       misho       1: --TEST--
                      2: Test array_diff() function : usage variations - arrays containing referenced variables
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_diff(array $arr1, array $arr2 [, array ...])
                      6:  * Description: Returns the entries of $arr1 that have values which are not 
                      7:  * present in any of the others arguments. 
                      8:  * Source code: ext/standard/array.c
                      9:  */
                     10: 
                     11: /*
                     12:  * Test how array_diff compares arrays that
                     13:  * 1. Contain referenced variables
                     14:  * 2. Have been referenced to each other
                     15:  */
                     16: 
                     17: echo "*** Testing array_diff() : usage variations ***\n";
                     18: $a = 'a';
                     19: 
                     20: $arr1 = array ("&$a", 'b', 'c');
                     21: $arr2 = array (1, 2, 3);
                     22: echo "-- Basic Comparison --\n";
                     23: var_dump(array_diff($arr1, $arr2));
                     24: var_dump(array_diff($arr2, $arr1));
                     25: 
                     26: $a = 1;
                     27: 
                     28: echo "-- \$a changed --\n";
                     29: var_dump(array_diff($arr1, $arr2));
                     30: var_dump(array_diff($arr2, $arr1));
                     31: 
                     32: 
                     33: $arr2 = &$arr1;
                     34: echo "-- Arrays referenced to each other --\n";
                     35: var_dump(array_diff($arr1, $arr2));
                     36: var_dump(array_diff($arr2, $arr1));
                     37: 
                     38: 
                     39: $arr1 = array('x', 'y', 'z');
                     40: echo "-- \$arr1 changed --\n";
                     41: var_dump(array_diff($arr1, $arr2));
                     42: var_dump(array_diff($arr2, $arr1));
                     43: 
                     44: 
                     45: echo "Done";
                     46: ?>
                     47: 
                     48: --EXPECTF--
                     49: 
                     50: *** Testing array_diff() : usage variations ***
                     51: -- Basic Comparison --
                     52: array(3) {
                     53:   [0]=>
                     54:   string(2) "&a"
                     55:   [1]=>
                     56:   string(1) "b"
                     57:   [2]=>
                     58:   string(1) "c"
                     59: }
                     60: array(3) {
                     61:   [0]=>
                     62:   int(1)
                     63:   [1]=>
                     64:   int(2)
                     65:   [2]=>
                     66:   int(3)
                     67: }
                     68: -- $a changed --
                     69: array(3) {
                     70:   [0]=>
                     71:   string(2) "&a"
                     72:   [1]=>
                     73:   string(1) "b"
                     74:   [2]=>
                     75:   string(1) "c"
                     76: }
                     77: array(3) {
                     78:   [0]=>
                     79:   int(1)
                     80:   [1]=>
                     81:   int(2)
                     82:   [2]=>
                     83:   int(3)
                     84: }
                     85: -- Arrays referenced to each other --
                     86: array(0) {
                     87: }
                     88: array(0) {
                     89: }
                     90: -- $arr1 changed --
                     91: array(0) {
                     92: }
                     93: array(0) {
                     94: }
                     95: Done

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