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

1.1       misho       1: --TEST--
                      2: Test array_walk() function : usage variations - 'input' array with different values
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : bool array_walk(array $input, string $funcname [, mixed $userdata])
                      6:  * Description: Apply a user function to every member of an array 
                      7:  * Source code: ext/standard/array.c
                      8: */
                      9: 
                     10: /*
                     11:  * Testing array_walk() with following types of 'input' arrays:
                     12:  *    integer, float, string, bool, null, empty & mixed
                     13: */
                     14: 
                     15: // callback function
                     16: /*
                     17:  * Prototype : print_value(mixed $value, int $key, int $count)
                     18:  * Parameters : $value - array entries(values)
                     19:  *              $key - keys in given input array
                     20:  *              $count - extra parameter used as an index
                     21:  * Description : prints the array values with keys and count value
                     22:  */
                     23: function print_value($value, $key, $count)
                     24: {
                     25:   echo  $count." : ".$key." ".$value."\n";
                     26: }
                     27: 
                     28: echo "*** Testing array_walk() : 'input' array with different values***\n";
                     29: 
                     30: // different arrays as input
                     31: $input_values = array(
                     32:   
                     33:        // integer values
                     34: /*1*/  array(1, 0, -10, 023, -041, 0x5A, 0X1F, -0x6E),
                     35:   
                     36:        // float value 
                     37:        array(3.4, 0.8, -2.9, 6.25e2, 8.20E-3),
                     38: 
                     39:        // string values
                     40:        array('Mango', "Apple", 'Orange', "Lemon"),
                     41: 
                     42:        // bool values
                     43: /*4*/  array(true, false, TRUE, FALSE),
                     44: 
                     45:        // null values
                     46:        array(null, NULL),
                     47: 
                     48:        // empty array
                     49:        array(),
                     50: 
                     51:        // binary array
                     52:        array(b"binary"),
                     53: 
                     54:        // mixed array
                     55: /*8*/  array(16, 8.345, "Fruits", true, null, FALSE, -98, 0.005, 'banana')
                     56: );
                     57: 
                     58: for($count = 0; $count < count($input_values); $count++) {
                     59:   echo "\n-- Iteration ".($count + 1)." --\n";
                     60:   var_dump( array_walk($input_values[$count], "print_value", $count+1));
                     61: }  
                     62: echo "Done"
                     63: ?>
                     64: --EXPECTF--
                     65: *** Testing array_walk() : 'input' array with different values***
                     66: 
                     67: -- Iteration 1 --
                     68: 1 : 0 1
                     69: 1 : 1 0
                     70: 1 : 2 -10
                     71: 1 : 3 19
                     72: 1 : 4 -33
                     73: 1 : 5 90
                     74: 1 : 6 31
                     75: 1 : 7 -110
                     76: bool(true)
                     77: 
                     78: -- Iteration 2 --
                     79: 2 : 0 3.4
                     80: 2 : 1 0.8
                     81: 2 : 2 -2.9
                     82: 2 : 3 625
                     83: 2 : 4 0.0082
                     84: bool(true)
                     85: 
                     86: -- Iteration 3 --
                     87: 3 : 0 Mango
                     88: 3 : 1 Apple
                     89: 3 : 2 Orange
                     90: 3 : 3 Lemon
                     91: bool(true)
                     92: 
                     93: -- Iteration 4 --
                     94: 4 : 0 1
                     95: 4 : 1 
                     96: 4 : 2 1
                     97: 4 : 3 
                     98: bool(true)
                     99: 
                    100: -- Iteration 5 --
                    101: 5 : 0 
                    102: 5 : 1 
                    103: bool(true)
                    104: 
                    105: -- Iteration 6 --
                    106: bool(true)
                    107: 
                    108: -- Iteration 7 --
                    109: 7 : 0 binary
                    110: bool(true)
                    111: 
                    112: -- Iteration 8 --
                    113: 8 : 0 16
                    114: 8 : 1 8.345
                    115: 8 : 2 Fruits
                    116: 8 : 3 1
                    117: 8 : 4 
                    118: 8 : 5 
                    119: 8 : 6 -98
                    120: 8 : 7 0.005
                    121: 8 : 8 banana
                    122: bool(true)
                    123: Done

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