Return to array_map_variation3.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 - different arrays for 'arr1' argument 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 different arrays for $arr1 argument 12: */ 13: 14: echo "*** Testing array_map() : different arrays for 'arr1' argument ***\n"; 15: 16: function callback($a) 17: { 18: return ($a); 19: } 20: 21: // different arrays 22: $arrays = array ( 23: /*1*/ array(1, 2), // array with default keys and numeric values 24: array(1.1, 2.2), // array with default keys & float values 25: array( array(2), array(1)), // sub arrays 26: array(false,true), // array with default keys and boolean values 27: array(), // empty array 28: array(NULL), // array with NULL 29: array("a","aaaa","b","bbbb","c","ccccc"), 30: 31: // associative arrays 32: /*8*/ array(1 => "one", 2 => "two", 3 => "three"), // explicit numeric keys, string values 33: array("one" => 1, "two" => 2, "three" => 3 ), // string keys & numeric values 34: array( 1 => 10, 2 => 20, 4 => 40, 3 => 30), // explicit numeric keys and numeric values 35: array( "one" => "ten", "two" => "twenty", "three" => "thirty"), // string key/value 36: array("one" => 1, 2 => "two", 4 => "four"), //mixed 37: 38: // associative array, containing null/empty/boolean values as key/value 39: /*13*/ array(NULL => "NULL", null => "null", "NULL" => NULL, "null" => null), 40: array(true => "true", false => "false", "false" => false, "true" => true), 41: array("" => "emptyd", '' => 'emptys', "emptyd" => "", 'emptys' => ''), 42: array(1 => '', 2 => "", 3 => NULL, 4 => null, 5 => false, 6 => true), 43: array('' => 1, "" => 2, NULL => 3, null => 4, false => 5, true => 6), 44: 45: // array with repetative keys 46: /*18*/ array("One" => 1, "two" => 2, "One" => 10, "two" => 20, "three" => 3) 47: ); 48: 49: // loop through the various elements of $arrays to test array_map() 50: $iterator = 1; 51: foreach($arrays as $arr1) { 52: echo "-- Iteration $iterator --\n"; 53: var_dump( array_map('callback', $arr1) ); 54: $iterator++; 55: } 56: 57: echo "Done"; 58: ?> 59: --EXPECTF-- 60: *** Testing array_map() : different arrays for 'arr1' argument *** 61: -- Iteration 1 -- 62: array(2) { 63: [0]=> 64: int(1) 65: [1]=> 66: int(2) 67: } 68: -- Iteration 2 -- 69: array(2) { 70: [0]=> 71: float(1.1) 72: [1]=> 73: float(2.2) 74: } 75: -- Iteration 3 -- 76: array(2) { 77: [0]=> 78: array(1) { 79: [0]=> 80: int(2) 81: } 82: [1]=> 83: array(1) { 84: [0]=> 85: int(1) 86: } 87: } 88: -- Iteration 4 -- 89: array(2) { 90: [0]=> 91: bool(false) 92: [1]=> 93: bool(true) 94: } 95: -- Iteration 5 -- 96: array(0) { 97: } 98: -- Iteration 6 -- 99: array(1) { 100: [0]=> 101: NULL 102: } 103: -- Iteration 7 -- 104: array(6) { 105: [0]=> 106: string(1) "a" 107: [1]=> 108: string(4) "aaaa" 109: [2]=> 110: string(1) "b" 111: [3]=> 112: string(4) "bbbb" 113: [4]=> 114: string(1) "c" 115: [5]=> 116: string(5) "ccccc" 117: } 118: -- Iteration 8 -- 119: array(3) { 120: [1]=> 121: string(3) "one" 122: [2]=> 123: string(3) "two" 124: [3]=> 125: string(5) "three" 126: } 127: -- Iteration 9 -- 128: array(3) { 129: ["one"]=> 130: int(1) 131: ["two"]=> 132: int(2) 133: ["three"]=> 134: int(3) 135: } 136: -- Iteration 10 -- 137: array(4) { 138: [1]=> 139: int(10) 140: [2]=> 141: int(20) 142: [4]=> 143: int(40) 144: [3]=> 145: int(30) 146: } 147: -- Iteration 11 -- 148: array(3) { 149: ["one"]=> 150: string(3) "ten" 151: ["two"]=> 152: string(6) "twenty" 153: ["three"]=> 154: string(6) "thirty" 155: } 156: -- Iteration 12 -- 157: array(3) { 158: ["one"]=> 159: int(1) 160: [2]=> 161: string(3) "two" 162: [4]=> 163: string(4) "four" 164: } 165: -- Iteration 13 -- 166: array(3) { 167: [""]=> 168: string(4) "null" 169: ["NULL"]=> 170: NULL 171: ["null"]=> 172: NULL 173: } 174: -- Iteration 14 -- 175: array(4) { 176: [1]=> 177: string(4) "true" 178: [0]=> 179: string(5) "false" 180: ["false"]=> 181: bool(false) 182: ["true"]=> 183: bool(true) 184: } 185: -- Iteration 15 -- 186: array(3) { 187: [""]=> 188: string(6) "emptys" 189: ["emptyd"]=> 190: string(0) "" 191: ["emptys"]=> 192: string(0) "" 193: } 194: -- Iteration 16 -- 195: array(6) { 196: [1]=> 197: string(0) "" 198: [2]=> 199: string(0) "" 200: [3]=> 201: NULL 202: [4]=> 203: NULL 204: [5]=> 205: bool(false) 206: [6]=> 207: bool(true) 208: } 209: -- Iteration 17 -- 210: array(3) { 211: [""]=> 212: int(4) 213: [0]=> 214: int(5) 215: [1]=> 216: int(6) 217: } 218: -- Iteration 18 -- 219: array(3) { 220: ["One"]=> 221: int(10) 222: ["two"]=> 223: int(20) 224: ["three"]=> 225: int(3) 226: } 227: Done