1--TEST-- 2Test posix_strerror() function : usage variations 3--SKIPIF-- 4<?php 5 PHP_INT_SIZE == 4 or die("skip - 32-bit only"); 6 if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 7?> 8--FILE-- 9<?php 10/* Prototype : proto string posix_strerror(int errno) 11 * Description: Retrieve the system error message associated with the given errno. 12 * Source code: ext/posix/posix.c 13 * Alias to functions: 14 */ 15 16echo "*** Testing posix_strerror() : usage variations ***\n"; 17 18// Initialise function arguments not being substituted (if any) 19 20//get an unset variable 21$unset_var = 10; 22unset ($unset_var); 23 24//array of values to iterate over 25$values = array( 26 27 // float data 28 10.5, 29 -10.5, 30 10.1234567e10, 31 10.7654321E-10, 32 .5, 33 34 // array data 35 array(), 36 array(0), 37 array(1), 38 array(1, 2), 39 array('color' => 'red', 'item' => 'pen'), 40 41 // null data 42 NULL, 43 null, 44 45 // boolean data 46 true, 47 false, 48 TRUE, 49 FALSE, 50 51 // empty data 52 "", 53 '', 54 55 // string data 56 "string", 57 'string', 58 59 // undefined data 60 $undefined_var, 61 62 // unset data 63 $unset_var, 64 65 // object data 66 new stdclass(), 67); 68 69// loop through each element of the array for errno 70 71foreach($values as $value) { 72 echo "\nArg value $value \n"; 73 echo gettype( posix_strerror($value) )."\n"; 74}; 75 76echo "Done"; 77?> 78--EXPECTF-- 79*** Testing posix_strerror() : usage variations *** 80 81Notice: Undefined variable: undefined_var in %s on line %d 82 83Notice: Undefined variable: unset_var in %s on line %d 84 85Arg value 10.5 86string 87 88Arg value -10.5 89string 90 91Arg value 101234567000 92 93Warning: posix_strerror() expects parameter 1 to be int, float given in %s on line %d 94boolean 95 96Arg value 1.07654321E-9 97string 98 99Arg value 0.5 100string 101 102Notice: Array to string conversion in %sposix_strerror_variation1.php on line %d 103 104Arg value Array 105 106Warning: posix_strerror() expects parameter 1 to be int, array given in %s on line %d 107boolean 108 109Notice: Array to string conversion in %sposix_strerror_variation1.php on line %d 110 111Arg value Array 112 113Warning: posix_strerror() expects parameter 1 to be int, array given in %s on line %d 114boolean 115 116Notice: Array to string conversion in %sposix_strerror_variation1.php on line %d 117 118Arg value Array 119 120Warning: posix_strerror() expects parameter 1 to be int, array given in %s on line %d 121boolean 122 123Notice: Array to string conversion in %sposix_strerror_variation1.php on line %d 124 125Arg value Array 126 127Warning: posix_strerror() expects parameter 1 to be int, array given in %s on line %d 128boolean 129 130Notice: Array to string conversion in %sposix_strerror_variation1.php on line %d 131 132Arg value Array 133 134Warning: posix_strerror() expects parameter 1 to be int, array given in %s on line %d 135boolean 136 137Arg value 138string 139 140Arg value 141string 142 143Arg value 1 144string 145 146Arg value 147string 148 149Arg value 1 150string 151 152Arg value 153string 154 155Arg value 156 157Warning: posix_strerror() expects parameter 1 to be int, string given in %s on line %d 158boolean 159 160Arg value 161 162Warning: posix_strerror() expects parameter 1 to be int, string given in %s on line %d 163boolean 164 165Arg value string 166 167Warning: posix_strerror() expects parameter 1 to be int, string given in %s on line %d 168boolean 169 170Arg value string 171 172Warning: posix_strerror() expects parameter 1 to be int, string given in %s on line %d 173boolean 174 175Arg value 176string 177 178Arg value 179string 180 181Recoverable fatal error: Object of class stdClass could not be converted to string in %s on line %d 182