Return to array_values_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_values() function : usage variations - array keys different data types 3: --FILE-- 4: <?php 5: /* Prototype : array array_values(array $input) 6: * Description: Return just the values from the input array 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Pass arrays where the keys are different data types as $input argument 12: * to array_values() to test behaviour 13: */ 14: 15: echo "*** Testing array_values() : usage variations ***\n"; 16: 17: //get an unset variable 18: $unset_var = 10; 19: unset ($unset_var); 20: 21: // heredoc string 22: $heredoc = <<<EOT 23: hello world 24: EOT; 25: 26: // unexpected values to be passed as $input 27: $inputs = array( 28: 29: // int data 30: /*1*/ 'int' => array( 31: 0 => 'zero', 32: 1 => 'one', 33: 12345 => 'positive', 34: -2345 => 'negative', 35: ), 36: 37: // float data 38: /*2*/ 'float' => array( 39: 10.5 => 'positive', 40: -10.5 => 'negative', 41: .5 => 'half', 42: ), 43: 44: /*3*/ 'extreme floats' => array( 45: 12.3456789000e10 => 'large', 46: 12.3456789000E-10 => 'small', 47: ), 48: 49: // null data 50: /*4*/ 'null uppercase' => array( 51: NULL => 'null 1', 52: ), 53: 54: /*5*/ 'null lowercase' => array( 55: null => 'null 2', 56: ), 57: 58: // boolean data 59: /*6*/ 'bool lowercase' => array( 60: true => 'lowert', 61: false => 'lowerf', 62: ), 63: 64: /*7*/ 'bool uppercase' => array( 65: TRUE => 'uppert', 66: FALSE => 'upperf', 67: ), 68: 69: // empty data 70: /*8*/ 'empty double quotes' => array( 71: "" => 'emptyd', 72: ), 73: 74: /*9*/ 'empty single quotes' => array( 75: '' => 'emptys', 76: ), 77: 78: // string data 79: /*10*/ 'string' => array( 80: "stringd" => 'stringd', 81: 'strings' => 'strings', 82: $heredoc => 'stringh', 83: ), 84: 85: // undefined data 86: /*11*/ 'undefined' => array( 87: @$undefined_var => 'undefined', 88: ), 89: 90: // unset data 91: /*12*/ 'unset' => array( 92: @$unset_var => 'unset', 93: ), 94: ); 95: 96: // loop through each element of $inputs to check the behavior of array_values() 97: $iterator = 1; 98: foreach($inputs as $key => $input) { 99: echo "\n-- Iteration $iterator: $key data --\n"; 100: var_dump( array_values($input) ); 101: $iterator++; 102: }; 103: echo "Done"; 104: ?> 105: 106: --EXPECTF-- 107: *** Testing array_values() : usage variations *** 108: 109: -- Iteration 1: int data -- 110: array(4) { 111: [0]=> 112: string(4) "zero" 113: [1]=> 114: string(3) "one" 115: [2]=> 116: string(8) "positive" 117: [3]=> 118: string(8) "negative" 119: } 120: 121: -- Iteration 2: float data -- 122: array(3) { 123: [0]=> 124: string(8) "positive" 125: [1]=> 126: string(8) "negative" 127: [2]=> 128: string(4) "half" 129: } 130: 131: -- Iteration 3: extreme floats data -- 132: array(2) { 133: [0]=> 134: string(5) "large" 135: [1]=> 136: string(5) "small" 137: } 138: 139: -- Iteration 4: null uppercase data -- 140: array(1) { 141: [0]=> 142: string(6) "null 1" 143: } 144: 145: -- Iteration 5: null lowercase data -- 146: array(1) { 147: [0]=> 148: string(6) "null 2" 149: } 150: 151: -- Iteration 6: bool lowercase data -- 152: array(2) { 153: [0]=> 154: string(6) "lowert" 155: [1]=> 156: string(6) "lowerf" 157: } 158: 159: -- Iteration 7: bool uppercase data -- 160: array(2) { 161: [0]=> 162: string(6) "uppert" 163: [1]=> 164: string(6) "upperf" 165: } 166: 167: -- Iteration 8: empty double quotes data -- 168: array(1) { 169: [0]=> 170: string(6) "emptyd" 171: } 172: 173: -- Iteration 9: empty single quotes data -- 174: array(1) { 175: [0]=> 176: string(6) "emptys" 177: } 178: 179: -- Iteration 10: string data -- 180: array(3) { 181: [0]=> 182: string(7) "stringd" 183: [1]=> 184: string(7) "strings" 185: [2]=> 186: string(7) "stringh" 187: } 188: 189: -- Iteration 11: undefined data -- 190: array(1) { 191: [0]=> 192: string(9) "undefined" 193: } 194: 195: -- Iteration 12: unset data -- 196: array(1) { 197: [0]=> 198: string(5) "unset" 199: } 200: Done