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