1--TEST-- 2Test base_convert() function : usage variations - different data types as $tobase argument 3--FILE-- 4<?php 5/* Prototype : string base_convert ( string $number , int $frombase , int $tobase ) 6 * Description: Convert a number between arbitrary bases. 7 * Source code: ext/standard/math.c 8 */ 9 10echo "*** Testing base_convert() : usage variations ***\n"; 11 12//get an unset variable 13$unset_var = 10; 14unset ($unset_var); 15 16// heredoc string 17$heredoc = <<<EOT 18abc 19xyz 20EOT; 21 22$inputs = array( 23 // int data 24/*1*/ 0, 25 1, 26 -1, 27 -12, 28 2147483647, 29 30 // float data 31/*6*/ 10.5, 32 -10.5, 33 1.234567e2, 34 1.234567E-2, 35 .5, 36 37 // null data 38/*11*/ NULL, 39 null, 40 41 // boolean data 42/*13*/ true, 43 false, 44 TRUE, 45 FALSE, 46 47 // empty data 48/*17*/ "", 49 '', 50 array(), 51 52 // string data 53/*20*/ "abcxyz", 54 'abcxyz', 55 $heredoc, 56 57 // undefined data 58/*23*/ @$undefined_var, 59 60 // unset data 61/*24*/ @$unset_var, 62); 63 64// loop through each element of $inputs to check the behaviour of base_convert() 65$iterator = 1; 66foreach($inputs as $input) { 67 echo "\n-- Iteration $iterator --\n"; 68 var_dump(base_convert(25, 10, $input)); 69 $iterator++; 70}; 71?> 72===Done=== 73--EXPECTF-- 74*** Testing base_convert() : usage variations *** 75 76-- Iteration 1 -- 77 78Warning: base_convert(): Invalid `to base' (0) in %s on line %d 79bool(false) 80 81-- Iteration 2 -- 82 83Warning: base_convert(): Invalid `to base' (1) in %s on line %d 84bool(false) 85 86-- Iteration 3 -- 87 88Warning: base_convert(): Invalid `to base' (-1) in %s on line %d 89bool(false) 90 91-- Iteration 4 -- 92 93Warning: base_convert(): Invalid `to base' (-12) in %s on line %d 94bool(false) 95 96-- Iteration 5 -- 97 98Warning: base_convert(): Invalid `to base' (2147483647) in %s on line %d 99bool(false) 100 101-- Iteration 6 -- 102string(2) "25" 103 104-- Iteration 7 -- 105 106Warning: base_convert(): Invalid `to base' (-10) in %s on line %d 107bool(false) 108 109-- Iteration 8 -- 110 111Warning: base_convert(): Invalid `to base' (123) in %s on line %d 112bool(false) 113 114-- Iteration 9 -- 115 116Warning: base_convert(): Invalid `to base' (0) in %s on line %d 117bool(false) 118 119-- Iteration 10 -- 120 121Warning: base_convert(): Invalid `to base' (0) in %s on line %d 122bool(false) 123 124-- Iteration 11 -- 125 126Warning: base_convert(): Invalid `to base' (0) in %s on line %d 127bool(false) 128 129-- Iteration 12 -- 130 131Warning: base_convert(): Invalid `to base' (0) in %s on line %d 132bool(false) 133 134-- Iteration 13 -- 135 136Warning: base_convert(): Invalid `to base' (1) in %s on line %d 137bool(false) 138 139-- Iteration 14 -- 140 141Warning: base_convert(): Invalid `to base' (0) in %s on line %d 142bool(false) 143 144-- Iteration 15 -- 145 146Warning: base_convert(): Invalid `to base' (1) in %s on line %d 147bool(false) 148 149-- Iteration 16 -- 150 151Warning: base_convert(): Invalid `to base' (0) in %s on line %d 152bool(false) 153 154-- Iteration 17 -- 155 156Warning: base_convert() expects parameter 3 to be integer, string given in %s on line %d 157NULL 158 159-- Iteration 18 -- 160 161Warning: base_convert() expects parameter 3 to be integer, string given in %s on line %d 162NULL 163 164-- Iteration 19 -- 165 166Warning: base_convert() expects parameter 3 to be integer, array given in %s on line %d 167NULL 168 169-- Iteration 20 -- 170 171Warning: base_convert() expects parameter 3 to be integer, string given in %s on line %d 172NULL 173 174-- Iteration 21 -- 175 176Warning: base_convert() expects parameter 3 to be integer, string given in %s on line %d 177NULL 178 179-- Iteration 22 -- 180 181Warning: base_convert() expects parameter 3 to be integer, string given in %s on line %d 182NULL 183 184-- Iteration 23 -- 185 186Warning: base_convert(): Invalid `to base' (0) in %s on line %d 187bool(false) 188 189-- Iteration 24 -- 190 191Warning: base_convert(): Invalid `to base' (0) in %s on line %d 192bool(false) 193===Done=== 194