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

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

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