xref: /PHP-7.4/Zend/tests/settype_object.phpt (revision d7a3edd4)
1--TEST--
2casting different variables to object 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	settype($var, "object");
34	var_dump($var);
35}
36
37echo "Done\n";
38?>
39--EXPECTF--
40object(stdClass)#%d (1) {
41  ["scalar"]=>
42  string(6) "string"
43}
44object(stdClass)#%d (1) {
45  ["scalar"]=>
46  string(7) "8754456"
47}
48object(stdClass)#%d (1) {
49  ["scalar"]=>
50  string(0) ""
51}
52object(stdClass)#%d (1) {
53  ["scalar"]=>
54  string(1) "�"
55}
56object(stdClass)#%d (1) {
57  ["scalar"]=>
58  int(9876545)
59}
60object(stdClass)#%d (1) {
61  ["scalar"]=>
62  float(0.1)
63}
64object(stdClass)#%d (0) {
65}
66object(stdClass)#%d (3) {
67  ["0"]=>
68  int(1)
69  ["1"]=>
70  int(2)
71  ["2"]=>
72  int(3)
73}
74object(stdClass)#%d (1) {
75  ["scalar"]=>
76  bool(false)
77}
78object(stdClass)#%d (1) {
79  ["scalar"]=>
80  bool(true)
81}
82object(stdClass)#%d (0) {
83}
84object(stdClass)#%d (1) {
85  ["scalar"]=>
86  resource(%d) of type (stream)
87}
88object(test)#%d (0) {
89}
90Done
91