$loop_count = 1;
foreach ($values as $var) {
echo "-- Iteration $loop_count --\n"; $loop_count ++;
- // set to new type
- var_dump( settype($var, $type) );
- // dump the var
- var_dump( $var );
+ try {
+ // set to new type
+ var_dump( settype($var, $type) );
- // check the new type
- var_dump( gettype($var) );
+ // dump the var
+ var_dump( $var );
+
+ // check the new type
+ var_dump( gettype($var) );
+ } catch (ValueError $exception) {
+ echo $exception->getMessage() . "\n";
+ }
}
}
-- Setting type of data to resource --
-- Iteration 1 --
-2: settype(): Cannot convert to resource type
-bool(false)
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
-}
-string(5) "array"
+Cannot convert to resource type
-- Iteration 2 --
-2: settype(): Cannot convert to resource type
-bool(false)
-string(14) "another string"
-string(6) "string"
+Cannot convert to resource type
-- Iteration 3 --
-2: settype(): Cannot convert to resource type
-bool(false)
-array(3) {
- [0]=>
- int(2)
- [1]=>
- int(3)
- [2]=>
- int(4)
-}
-string(5) "array"
+Cannot convert to resource type
-- Iteration 4 --
-2: settype(): Cannot convert to resource type
-bool(false)
-int(1)
-string(7) "integer"
+Cannot convert to resource type
-- Iteration 5 --
-2: settype(): Cannot convert to resource type
-bool(false)
-int(-20)
-string(7) "integer"
+Cannot convert to resource type
-- Iteration 6 --
-2: settype(): Cannot convert to resource type
-bool(false)
-float(2.54)
-string(6) "double"
+Cannot convert to resource type
-- Iteration 7 --
-2: settype(): Cannot convert to resource type
-bool(false)
-float(-2.54)
-string(6) "double"
+Cannot convert to resource type
-- Iteration 8 --
-2: settype(): Cannot convert to resource type
-bool(false)
-NULL
-string(4) "NULL"
+Cannot convert to resource type
-- Iteration 9 --
-2: settype(): Cannot convert to resource type
-bool(false)
-bool(false)
-string(7) "boolean"
+Cannot convert to resource type
-- Iteration 10 --
-2: settype(): Cannot convert to resource type
-bool(false)
-string(11) "some string"
-string(6) "string"
+Cannot convert to resource type
-- Iteration 11 --
-2: settype(): Cannot convert to resource type
-bool(false)
-string(6) "string"
-string(6) "string"
+Cannot convert to resource type
-- Iteration 12 --
-2: settype(): Cannot convert to resource type
-bool(false)
-resource(%d) of type (stream)
-string(8) "resource"
+Cannot convert to resource type
-- Iteration 13 --
-2: settype(): Cannot convert to resource type
-bool(false)
-resource(%d) of type (stream)
-string(8) "resource"
+Cannot convert to resource type
-- Iteration 14 --
-2: settype(): Cannot convert to resource type
-bool(false)
-object(point)#1 (2) {
- ["x"]=>
- int(10)
- ["y"]=>
- int(20)
-}
-string(6) "object"
+Cannot convert to resource type
-- Setting type of data to array --
-- Iteration 1 --
dump the variable to see its new data
get the new type of the variable
*/
-
-/* function to handle catchable errors */
-function foo($errno, $errstr, $errfile, $errline) {
-// var_dump($errstr);
- // print error no and error string
- echo "$errno: $errstr\n";
-}
-//set the error handler, this is required as
-// settype() would fail with catachable fatal error
-set_error_handler("foo");
-
$var1 = "another string";
$var2 = array(2,3,4);
true,
/* strings */
- "\xFF",
+ "\$",
"\x66",
"\0123",
"",
// get the current data type
var_dump( gettype($var) );
- // convert it to null
- var_dump( settype($var, $type) );
+ // convert it to resource
+ try {
+ var_dump(settype($var, $type));
+ } catch (ValueError $exception) {
+ echo $exception->getMessage() . "\n";
+ }
// dump the converted data
- var_dump( $var );
+ var_dump($var);
// check the new type after conversion
- var_dump( gettype($var) );
+ var_dump(gettype($var));
}
echo "Done\n";
?>
---EXPECTF--
+--EXPECT--
*** Testing gettype() & settype() functions : usage variations ***
-- Setting type of data to resource --
-- Iteration 1 --
string(4) "NULL"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
NULL
string(4) "NULL"
-- Iteration 2 --
string(7) "boolean"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
bool(false)
string(7) "boolean"
-- Iteration 3 --
string(7) "boolean"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
bool(true)
string(7) "boolean"
-- Iteration 4 --
string(7) "boolean"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
bool(true)
string(7) "boolean"
-- Iteration 5 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
-string(1) "ÿ"
+Cannot convert to resource type
+string(1) "$"
string(6) "string"
-- Iteration 6 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(1) "f"
string(6) "string"
-- Iteration 7 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(2) "
3"
string(6) "string"
-- Iteration 8 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(0) ""
string(6) "string"
-- Iteration 9 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(0) ""
string(6) "string"
-- Iteration 10 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(1) " "
string(6) "string"
-- Iteration 11 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(1) " "
string(6) "string"
-- Iteration 12 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(2) "10"
string(6) "string"
-- Iteration 13 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(2) "10"
string(6) "string"
-- Iteration 14 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(8) "10string"
string(6) "string"
-- Iteration 15 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(8) "10string"
string(6) "string"
-- Iteration 16 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(1) "1"
string(6) "string"
-- Iteration 17 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(2) "-1"
string(6) "string"
-- Iteration 18 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(3) "1e2"
string(6) "string"
-- Iteration 19 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(2) " 1"
string(6) "string"
-- Iteration 20 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(22) "2974394749328742328432"
string(6) "string"
-- Iteration 21 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "-1e-2"
string(6) "string"
-- Iteration 22 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(1) "1"
string(6) "string"
-- Iteration 23 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(2) "-1"
string(6) "string"
-- Iteration 24 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(3) "1e2"
string(6) "string"
-- Iteration 25 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(2) " 1"
string(6) "string"
-- Iteration 26 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(22) "2974394749328742328432"
string(6) "string"
-- Iteration 27 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "-1e-2"
string(6) "string"
-- Iteration 28 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(4) "0xff"
string(6) "string"
-- Iteration 29 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(4) "0x55"
string(6) "string"
-- Iteration 30 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "0XA55"
string(6) "string"
-- Iteration 31 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "0X123"
string(6) "string"
-- Iteration 32 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(4) "0123"
string(6) "string"
-- Iteration 33 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(4) "0123"
string(6) "string"
-- Iteration 34 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "-0123"
string(6) "string"
-- Iteration 35 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "+0123"
string(6) "string"
-- Iteration 36 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "-0123"
string(6) "string"
-- Iteration 37 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(5) "+0123"
string(6) "string"
-- Iteration 38 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(8) "-0x80001"
string(6) "string"
-- Iteration 39 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(8) "+0x80001"
string(6) "string"
-- Iteration 40 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(10) "-0x80001.5"
string(6) "string"
-- Iteration 41 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(9) "0x80001.5"
string(6) "string"
-- Iteration 42 --
string(6) "string"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
string(12) "@$%#$%^$%^&^"
string(6) "string"
-- Iteration 43 --
string(5) "array"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
array(0) {
}
string(5) "array"
-- Iteration 44 --
string(5) "array"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
array(1) {
[0]=>
NULL
string(5) "array"
-- Iteration 45 --
string(5) "array"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
array(4) {
[0]=>
int(1)
string(5) "array"
-- Iteration 46 --
string(5) "array"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
array(4) {
[1]=>
string(3) "one"
string(5) "array"
-- Iteration 47 --
string(5) "array"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
array(3) {
[0]=>
float(1.5)
string(5) "array"
-- Iteration 48 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-2147483648)
string(6) "double"
-- Iteration 49 --
string(7) "integer"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
int(2147483647)
string(7) "integer"
-- Iteration 50 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(2147483649)
string(6) "double"
-- Iteration 51 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(1232147483649)
string(6) "double"
-- Iteration 52 --
string(7) "integer"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
int(85)
string(7) "integer"
-- Iteration 53 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(1058513956921)
string(6) "double"
-- Iteration 54 --
string(7) "integer"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
int(-21903)
string(7) "integer"
-- Iteration 55 --
string(7) "integer"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
int(365)
string(7) "integer"
-- Iteration 56 --
string(7) "integer"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
int(-365)
string(7) "integer"
-- Iteration 57 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(80561044571754)
string(6) "double"
-- Iteration 58 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(100000)
string(6) "double"
-- Iteration 59 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-100000)
string(6) "double"
-- Iteration 60 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(100000)
string(6) "double"
-- Iteration 61 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-100000)
string(6) "double"
-- Iteration 62 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-1.5)
string(6) "double"
-- Iteration 63 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(0.5)
string(6) "double"
-- Iteration 64 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-0.5)
string(6) "double"
-- Iteration 65 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(500000)
string(6) "double"
-- Iteration 66 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-500000)
string(6) "double"
-- Iteration 67 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-5.0E-7)
string(6) "double"
-- Iteration 68 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(500000)
string(6) "double"
-- Iteration 69 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-500000)
string(6) "double"
-- Iteration 70 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(512000)
string(6) "double"
-- Iteration 71 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-512000)
string(6) "double"
-- Iteration 72 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(5.12E-7)
string(6) "double"
-- Iteration 73 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(5.12E-7)
string(6) "double"
-- Iteration 74 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(512000)
string(6) "double"
-- Iteration 75 --
string(6) "double"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
float(-512000)
string(6) "double"
-- Iteration 76 --
string(6) "object"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
object(point)#1 (2) {
["x"]=>
NULL
string(6) "object"
-- Iteration 77 --
string(6) "object"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
object(point)#2 (2) {
["x"]=>
float(2.5)
string(6) "object"
-- Iteration 78 --
string(6) "object"
-2: settype(): Cannot convert to resource type
-bool(false)
+Cannot convert to resource type
object(point)#3 (2) {
["x"]=>
int(0)