Return to type.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / general_functions |
1.1 misho 1: --TEST-- 2: gettype(), settype() and friends 3: --FILE-- 4: <?php 5: 6: function foo($errno, $errstr, $errfile, $errline) { 7: var_dump($errstr); 8: } 9: 10: set_error_handler("foo"); 11: 12: $fp = fopen(__FILE__, "r"); 13: fclose($fp); 14: $fp1 = fopen(__FILE__, "r"); 15: 16: $var1 = "another string"; 17: $var2 = array(2,3,4); 18: 19: $array = array( 20: array(1,2,3), 21: $var1, 22: $var2, 23: 1, 24: 2.0, 25: NULL, 26: false, 27: "some string", 28: $fp, 29: $fp1, 30: new stdclass, 31: ); 32: 33: $types = array( 34: "null", 35: "integer", 36: "double", 37: "boolean", 38: "resource", 39: "array", 40: "object", 41: "string" 42: ); 43: 44: foreach ($array as $var) { 45: var_dump(gettype($var)); 46: } 47: 48: foreach ($types as $type) { 49: foreach ($array as $var) { 50: var_dump(settype($var, $type)); 51: var_dump($var); 52: } 53: } 54: 55: echo "Done\n"; 56: ?> 57: --EXPECTF-- 58: string(5) "array" 59: string(6) "string" 60: string(5) "array" 61: string(7) "integer" 62: string(6) "double" 63: string(4) "NULL" 64: string(7) "boolean" 65: string(6) "string" 66: string(12) "unknown type" 67: string(8) "resource" 68: string(6) "object" 69: bool(true) 70: NULL 71: bool(true) 72: NULL 73: bool(true) 74: NULL 75: bool(true) 76: NULL 77: bool(true) 78: NULL 79: bool(true) 80: NULL 81: bool(true) 82: NULL 83: bool(true) 84: NULL 85: bool(true) 86: NULL 87: bool(true) 88: NULL 89: bool(true) 90: NULL 91: bool(true) 92: int(1) 93: bool(true) 94: int(0) 95: bool(true) 96: int(1) 97: bool(true) 98: int(1) 99: bool(true) 100: int(2) 101: bool(true) 102: int(0) 103: bool(true) 104: int(0) 105: bool(true) 106: int(0) 107: bool(true) 108: int(5) 109: bool(true) 110: int(6) 111: string(54) "Object of class stdClass could not be converted to int" 112: bool(true) 113: int(%d) 114: bool(true) 115: float(1) 116: bool(true) 117: float(0) 118: bool(true) 119: float(1) 120: bool(true) 121: float(1) 122: bool(true) 123: float(2) 124: bool(true) 125: float(0) 126: bool(true) 127: float(0) 128: bool(true) 129: float(0) 130: bool(true) 131: float(5) 132: bool(true) 133: float(6) 134: string(57) "Object of class stdClass could not be converted to double" 135: bool(true) 136: float(%d) 137: bool(true) 138: bool(true) 139: bool(true) 140: bool(true) 141: bool(true) 142: bool(true) 143: bool(true) 144: bool(true) 145: bool(true) 146: bool(true) 147: bool(true) 148: bool(false) 149: bool(true) 150: bool(false) 151: bool(true) 152: bool(true) 153: bool(true) 154: bool(true) 155: bool(true) 156: bool(true) 157: bool(true) 158: bool(true) 159: string(42) "settype(): Cannot convert to resource type" 160: bool(false) 161: array(3) { 162: [0]=> 163: int(1) 164: [1]=> 165: int(2) 166: [2]=> 167: int(3) 168: } 169: string(42) "settype(): Cannot convert to resource type" 170: bool(false) 171: string(14) "another string" 172: string(42) "settype(): Cannot convert to resource type" 173: bool(false) 174: array(3) { 175: [0]=> 176: int(2) 177: [1]=> 178: int(3) 179: [2]=> 180: int(4) 181: } 182: string(42) "settype(): Cannot convert to resource type" 183: bool(false) 184: int(1) 185: string(42) "settype(): Cannot convert to resource type" 186: bool(false) 187: float(2) 188: string(42) "settype(): Cannot convert to resource type" 189: bool(false) 190: NULL 191: string(42) "settype(): Cannot convert to resource type" 192: bool(false) 193: bool(false) 194: string(42) "settype(): Cannot convert to resource type" 195: bool(false) 196: string(11) "some string" 197: string(42) "settype(): Cannot convert to resource type" 198: bool(false) 199: resource(%d) of type (Unknown) 200: string(42) "settype(): Cannot convert to resource type" 201: bool(false) 202: resource(%d) of type (stream) 203: string(42) "settype(): Cannot convert to resource type" 204: bool(false) 205: object(stdClass)#%d (0) { 206: } 207: bool(true) 208: array(3) { 209: [0]=> 210: int(1) 211: [1]=> 212: int(2) 213: [2]=> 214: int(3) 215: } 216: bool(true) 217: array(1) { 218: [0]=> 219: string(14) "another string" 220: } 221: bool(true) 222: array(3) { 223: [0]=> 224: int(2) 225: [1]=> 226: int(3) 227: [2]=> 228: int(4) 229: } 230: bool(true) 231: array(1) { 232: [0]=> 233: int(1) 234: } 235: bool(true) 236: array(1) { 237: [0]=> 238: float(2) 239: } 240: bool(true) 241: array(0) { 242: } 243: bool(true) 244: array(1) { 245: [0]=> 246: bool(false) 247: } 248: bool(true) 249: array(1) { 250: [0]=> 251: string(11) "some string" 252: } 253: bool(true) 254: array(1) { 255: [0]=> 256: resource(%d) of type (Unknown) 257: } 258: bool(true) 259: array(1) { 260: [0]=> 261: resource(%d) of type (stream) 262: } 263: bool(true) 264: array(0) { 265: } 266: bool(true) 267: object(stdClass)#%d (3) { 268: [0]=> 269: int(1) 270: [1]=> 271: int(2) 272: [2]=> 273: int(3) 274: } 275: bool(true) 276: object(stdClass)#%d (1) { 277: ["scalar"]=> 278: string(14) "another string" 279: } 280: bool(true) 281: object(stdClass)#%d (3) { 282: [0]=> 283: int(2) 284: [1]=> 285: int(3) 286: [2]=> 287: int(4) 288: } 289: bool(true) 290: object(stdClass)#%d (1) { 291: ["scalar"]=> 292: int(1) 293: } 294: bool(true) 295: object(stdClass)#%d (1) { 296: ["scalar"]=> 297: float(2) 298: } 299: bool(true) 300: object(stdClass)#%d (0) { 301: } 302: bool(true) 303: object(stdClass)#%d (1) { 304: ["scalar"]=> 305: bool(false) 306: } 307: bool(true) 308: object(stdClass)#%d (1) { 309: ["scalar"]=> 310: string(11) "some string" 311: } 312: bool(true) 313: object(stdClass)#%d (1) { 314: ["scalar"]=> 315: resource(%d) of type (Unknown) 316: } 317: bool(true) 318: object(stdClass)#%d (1) { 319: ["scalar"]=> 320: resource(%d) of type (stream) 321: } 322: bool(true) 323: object(stdClass)#%d (0) { 324: } 325: string(26) "Array to string conversion" 326: bool(true) 327: string(5) "Array" 328: bool(true) 329: string(14) "another string" 330: string(26) "Array to string conversion" 331: bool(true) 332: string(5) "Array" 333: bool(true) 334: string(1) "1" 335: bool(true) 336: string(1) "2" 337: bool(true) 338: string(0) "" 339: bool(true) 340: string(0) "" 341: bool(true) 342: string(11) "some string" 343: bool(true) 344: string(14) "Resource id #%d" 345: bool(true) 346: string(14) "Resource id #%d" 347: string(57) "Object of class stdClass could not be converted to string" 348: string(45) "Object of class stdClass to string conversion" 349: bool(true) 350: string(6) "Object" 351: Done