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