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

1.1       misho       1: --TEST--
                      2: Test array_key_exists() function : usage variations - floats and casting to ints
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : bool array_key_exists(mixed $key, array $search)
                      6:  * Description: Checks if the given key or index exists in the array 
                      7:  * Source code: ext/standard/array.c
                      8:  * Alias to functions: key_exists
                      9:  */
                     10: 
                     11: /*
                     12:  * Pass floats as $key argument, then cast float values
                     13:  * to integers and pass as $key argument
                     14:  */
                     15: 
                     16: echo "*** Testing array_key_exists() : usage variations ***\n";
                     17: 
                     18: $keys = array(1.2345678900E-10, 1.00000000000001, 1.99999999999999);
                     19: 
                     20: $search = array ('zero', 'one', 'two');
                     21: 
                     22: $iterator = 1;
                     23: foreach($keys as $key) {
                     24:        echo "\n-- Iteration $iterator --\n";
                     25:        echo "Pass float as \$key:\n";
                     26:        var_dump(array_key_exists($key, $search));
                     27:        echo "Cast float to int:\n";
                     28:        var_dump(array_key_exists((int)$key, $search));
                     29: }
                     30: 
                     31: echo "Done";
                     32: ?>
                     33: 
                     34: --EXPECTF--
                     35: *** Testing array_key_exists() : usage variations ***
                     36: 
                     37: -- Iteration 1 --
                     38: Pass float as $key:
                     39: 
                     40: Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d
                     41: bool(false)
                     42: Cast float to int:
                     43: bool(true)
                     44: 
                     45: -- Iteration 1 --
                     46: Pass float as $key:
                     47: 
                     48: Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d
                     49: bool(false)
                     50: Cast float to int:
                     51: bool(true)
                     52: 
                     53: -- Iteration 1 --
                     54: Pass float as $key:
                     55: 
                     56: Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d
                     57: bool(false)
                     58: Cast float to int:
                     59: bool(true)
                     60: Done

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