Return to array_map_variation7.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_map() function : usage variations - arrays of different size 3: --FILE-- 4: <?php 5: /* Prototype : array array_map ( callback $callback , array $arr1 [, array $... ] ) 6: * Description: Applies the callback to the elements of the given arrays 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Test array_map() by passing array having different size 12: * 1) first array as empty array 13: * 2) second array as empty array 14: * 3) second array shorter than first array 15: * 4) first array shorter than second array 16: * 5) one more array than callback function arguments 17: */ 18: 19: echo "*** Testing array_map() : arrays with diff. size ***\n"; 20: 21: function callback($a, $b) 22: { 23: return array($a => $b); 24: } 25: 26: // calling array_map with different arrays 27: var_dump( array_map('callback', array(1, 2, 3), array()) ); 28: var_dump( array_map('callback', array(), array('a', 'b', 'c')) ); 29: var_dump( array_map('callback', array(1, 2, 3), array('a', 'b')) ); 30: var_dump( array_map('callback', array(012, 0x2F, 0X1A), array(2.3, 12.4e2)) ); 31: var_dump( array_map('callback', array(), array(1, 2, 3), array('a', 'b')) ); // passing more no. of arrays than callback function argument 32: 33: echo "Done"; 34: ?> 35: --EXPECTF-- 36: *** Testing array_map() : arrays with diff. size *** 37: array(3) { 38: [0]=> 39: array(1) { 40: [1]=> 41: NULL 42: } 43: [1]=> 44: array(1) { 45: [2]=> 46: NULL 47: } 48: [2]=> 49: array(1) { 50: [3]=> 51: NULL 52: } 53: } 54: array(3) { 55: [0]=> 56: array(1) { 57: [""]=> 58: string(1) "a" 59: } 60: [1]=> 61: array(1) { 62: [""]=> 63: string(1) "b" 64: } 65: [2]=> 66: array(1) { 67: [""]=> 68: string(1) "c" 69: } 70: } 71: array(3) { 72: [0]=> 73: array(1) { 74: [1]=> 75: string(1) "a" 76: } 77: [1]=> 78: array(1) { 79: [2]=> 80: string(1) "b" 81: } 82: [2]=> 83: array(1) { 84: [3]=> 85: NULL 86: } 87: } 88: array(3) { 89: [0]=> 90: array(1) { 91: [10]=> 92: float(2.3) 93: } 94: [1]=> 95: array(1) { 96: [47]=> 97: float(1240) 98: } 99: [2]=> 100: array(1) { 101: [26]=> 102: NULL 103: } 104: } 105: array(3) { 106: [0]=> 107: array(1) { 108: [""]=> 109: int(1) 110: } 111: [1]=> 112: array(1) { 113: [""]=> 114: int(2) 115: } 116: [2]=> 117: array(1) { 118: [""]=> 119: int(3) 120: } 121: } 122: Done