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

1.1       misho       1: --TEST--
                      2: Test array_diff_assoc() function : usage variations - compare integers, floats and strings
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_diff_assoc(array $arr1, array $arr2 [, array ...])
                      6:  * Description: Returns the entries of arr1 that have values which are not present 
                      7:  * in any of the others arguments but do additional checks whether the keys are equal 
                      8:  * Source code: ext/standard/array.c
                      9:  */
                     10: 
                     11: /*
                     12:  * Test how array_diff_assoc compares integers, floats and string
                     13:  */
                     14: 
                     15: echo "*** Testing array_diff_assoc() : usage variations ***\n";
                     16: $arr_default_int = array(1, 2, 3, 'a');
                     17: $arr_float = array(0 => 1.00, 1.00 => 2.00, 2.00 => 3.00, 'b');
                     18: $arr_string = array('1', '2', '3', 'c');
                     19: $arr_string_float = array('0' => '1.00', '1.00' => '2.00', '2.00' => '3.00', 'd');
                     20: 
                     21: echo "-- Result of comparing integers and floating point numbers: --\n";
                     22: var_dump(array_diff_assoc($arr_default_int, $arr_float));
                     23: var_dump(array_diff_assoc($arr_float, $arr_default_int));
                     24: 
                     25: echo "-- Result of comparing integers and strings containing an integers : --\n";
                     26: var_dump(array_diff_assoc($arr_default_int, $arr_string));
                     27: var_dump(array_diff_assoc($arr_string, $arr_default_int));
                     28: 
                     29: echo "-- Result of comparing integers and strings containing floating points : --\n";
                     30: var_dump(array_diff_assoc($arr_default_int, $arr_string_float));
                     31: var_dump(array_diff_assoc($arr_string_float, $arr_default_int));
                     32: 
                     33: echo "-- Result of comparing floating points and strings containing integers : --\n";
                     34: var_dump(array_diff_assoc($arr_float, $arr_string));
                     35: var_dump(array_diff_assoc($arr_string, $arr_float));
                     36: 
                     37: echo "-- Result of comparing floating points and strings containing floating point: --\n";
                     38: var_dump(array_diff_assoc($arr_float, $arr_string_float));
                     39: var_dump(array_diff_assoc($arr_string_float, $arr_float));
                     40: 
                     41: echo "-- Result of comparing strings containing integers and strings containing floating points : --\n";
                     42: var_dump(array_diff_assoc($arr_string, $arr_string_float));
                     43: var_dump(array_diff_assoc($arr_string_float, $arr_string));
                     44: 
                     45: echo "-- Result of comparing more than two arrays: --\n";
                     46: var_dump(array_diff_assoc($arr_default_int, $arr_float, $arr_string, $arr_string_float));
                     47: 
                     48: echo "Done";
                     49: ?>
                     50: --EXPECTF--
                     51: 
                     52: *** Testing array_diff_assoc() : usage variations ***
                     53: -- Result of comparing integers and floating point numbers: --
                     54: array(1) {
                     55:   [3]=>
                     56:   string(1) "a"
                     57: }
                     58: array(1) {
                     59:   [3]=>
                     60:   string(1) "b"
                     61: }
                     62: -- Result of comparing integers and strings containing an integers : --
                     63: array(1) {
                     64:   [3]=>
                     65:   string(1) "a"
                     66: }
                     67: array(1) {
                     68:   [3]=>
                     69:   string(1) "c"
                     70: }
                     71: -- Result of comparing integers and strings containing floating points : --
                     72: array(4) {
                     73:   [0]=>
                     74:   int(1)
                     75:   [1]=>
                     76:   int(2)
                     77:   [2]=>
                     78:   int(3)
                     79:   [3]=>
                     80:   string(1) "a"
                     81: }
                     82: array(4) {
                     83:   [0]=>
                     84:   string(4) "1.00"
                     85:   ["1.00"]=>
                     86:   string(4) "2.00"
                     87:   ["2.00"]=>
                     88:   string(4) "3.00"
                     89:   [1]=>
                     90:   string(1) "d"
                     91: }
                     92: -- Result of comparing floating points and strings containing integers : --
                     93: array(1) {
                     94:   [3]=>
                     95:   string(1) "b"
                     96: }
                     97: array(1) {
                     98:   [3]=>
                     99:   string(1) "c"
                    100: }
                    101: -- Result of comparing floating points and strings containing floating point: --
                    102: array(4) {
                    103:   [0]=>
                    104:   float(1)
                    105:   [1]=>
                    106:   float(2)
                    107:   [2]=>
                    108:   float(3)
                    109:   [3]=>
                    110:   string(1) "b"
                    111: }
                    112: array(4) {
                    113:   [0]=>
                    114:   string(4) "1.00"
                    115:   ["1.00"]=>
                    116:   string(4) "2.00"
                    117:   ["2.00"]=>
                    118:   string(4) "3.00"
                    119:   [1]=>
                    120:   string(1) "d"
                    121: }
                    122: -- Result of comparing strings containing integers and strings containing floating points : --
                    123: array(4) {
                    124:   [0]=>
                    125:   string(1) "1"
                    126:   [1]=>
                    127:   string(1) "2"
                    128:   [2]=>
                    129:   string(1) "3"
                    130:   [3]=>
                    131:   string(1) "c"
                    132: }
                    133: array(4) {
                    134:   [0]=>
                    135:   string(4) "1.00"
                    136:   ["1.00"]=>
                    137:   string(4) "2.00"
                    138:   ["2.00"]=>
                    139:   string(4) "3.00"
                    140:   [1]=>
                    141:   string(1) "d"
                    142: }
                    143: -- Result of comparing more than two arrays: --
                    144: array(1) {
                    145:   [3]=>
                    146:   string(1) "a"
                    147: }
                    148: Done

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