1--TEST--
2casting different variables to resource using settype()
3--FILE--
4<?php
5
6$r = fopen(__FILE__, "r");
7
8class test {
9    function  __toString() {
10        return "10";
11    }
12}
13
14$o = new test;
15
16$vars = array(
17    "string",
18    "8754456",
19    "",
20    "\0",
21    9876545,
22    0.10,
23    array(),
24    array(1,2,3),
25    false,
26    true,
27    NULL,
28    $r,
29    $o
30);
31
32foreach ($vars as $var) {
33    try {
34        settype($var, "resource");
35    } catch (ValueError $exception) {
36        echo $exception->getMessage() . "\n";
37    }
38    var_dump($var);
39}
40
41echo "Done\n";
42?>
43--EXPECTF--
44Cannot convert to resource type
45string(6) "string"
46Cannot convert to resource type
47string(7) "8754456"
48Cannot convert to resource type
49string(0) ""
50Cannot convert to resource type
51string(1) "%0"
52Cannot convert to resource type
53int(9876545)
54Cannot convert to resource type
55float(0.1)
56Cannot convert to resource type
57array(0) {
58}
59Cannot convert to resource type
60array(3) {
61  [0]=>
62  int(1)
63  [1]=>
64  int(2)
65  [2]=>
66  int(3)
67}
68Cannot convert to resource type
69bool(false)
70Cannot convert to resource type
71bool(true)
72Cannot convert to resource type
73NULL
74Cannot convert to resource type
75resource(%d) of type (stream)
76Cannot convert to resource type
77object(test)#%d (0) {
78}
79Done
80