Return to array_walk_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
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