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

1.1       misho       1: --TEST--
                      2: Test array_diff_uassoc() function : usage variations - arrays containing referenced variables
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_diff_uassoc(array arr1, array arr2 [, array ...], callback key_comp_func)
                      6:  * Description: Computes the difference of arrays with additional index check which is performed by a 
                      7:  *                             user supplied callback function
                      8:  * Source code: ext/standard/array.c
                      9:  */
                     10: 
                     11: echo "*** Testing array_diff_uassoc() : usage variation ***\n";
                     12: 
                     13: //Initialize variables
                     14: $ref_var = 'a';
                     15: $array1 = array('a', $ref_var);
                     16: $array2 = array('a' => 1, &$ref_var);
                     17: 
                     18: echo "\n-- Testing array_diff_uassoc() function with referenced variable \$ref_var has value '$ref_var' --\n";
                     19: var_dump( array_diff_uassoc($array1, $array2, "strcasecmp") );
                     20: var_dump( array_diff_uassoc($array2, $array1, "strcasecmp") );
                     21: 
                     22: // re-assign reference variable to different value
                     23: $ref_var = 10.00;
                     24: echo "\n-- Testing array_diff_uassoc() function with referenced variable \$ref_var value changed to $ref_var --\n";
                     25: var_dump( array_diff_uassoc($array1, $array2, "strcasecmp") );
                     26: var_dump( array_diff_uassoc($array2, $array1, "strcasecmp") );
                     27: 
                     28: //When array are refenced
                     29: $array2 = &$array1;
                     30: echo "\n-- Testing array_diff_uassoc() function when \$array2 is referenced to \$array1 --\n";
                     31: var_dump( array_diff_uassoc($array1, $array2, "strcasecmp") );
                     32: var_dump( array_diff_uassoc($array2, $array1, "strcasecmp") );
                     33: 
                     34: ?>
                     35: ===DONE===
                     36: --EXPECTF--
                     37: *** Testing array_diff_uassoc() : usage variation ***
                     38: 
                     39: -- Testing array_diff_uassoc() function with referenced variable $ref_var has value 'a' --
                     40: array(1) {
                     41:   [1]=>
                     42:   string(1) "a"
                     43: }
                     44: array(1) {
                     45:   ["a"]=>
                     46:   int(1)
                     47: }
                     48: 
                     49: -- Testing array_diff_uassoc() function with referenced variable $ref_var value changed to 10 --
                     50: array(2) {
                     51:   [0]=>
                     52:   string(1) "a"
                     53:   [1]=>
                     54:   string(1) "a"
                     55: }
                     56: array(2) {
                     57:   ["a"]=>
                     58:   int(1)
                     59:   [0]=>
                     60:   &float(10)
                     61: }
                     62: 
                     63: -- Testing array_diff_uassoc() function when $array2 is referenced to $array1 --
                     64: array(0) {
                     65: }
                     66: array(0) {
                     67: }
                     68: ===DONE===

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