From now on, we always display the given object's type instead of just reporting "object".
Additionally, make the format of return type errors match the format of argument errors.
Closes GH-5625
echo "Done\n";
?>
--EXPECTF--
-Exception: Unsupported operand types: array + object
+Exception: Unsupported operand types: array + stdClass
-Fatal error: Uncaught TypeError: Unsupported operand types: array + object in %s:%d
+Fatal error: Uncaught TypeError: Unsupported operand types: array + stdClass in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
echo "Done\n";
?>
--EXPECTF--
-Exception: Unsupported operand types: object + array
+Exception: Unsupported operand types: stdClass + array
-Fatal error: Uncaught TypeError: Unsupported operand types: object + array in %s:%d
+Fatal error: Uncaught TypeError: Unsupported operand types: stdClass + array in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
--EXPECT--
Hello World!
===NONE===
-Return value of NoneTest::__toString() must be of type string, none returned
+NoneTest::__toString(): Return value must be of type string, none returned
===THROW===
This is an error!
}
?>
--EXPECT--
-Cannot increment object
+Cannot increment ReflectionMethod
NULL
bool(true)
bool(false)
-Cannot decrement object
+Cannot decrement stdClass
object(stdClass)#%d (0) {
}
Cannot decrement array
NULL
bool(true)
bool(false)
-Cannot decrement object
+Cannot decrement stdClass
object(stdClass)#1 (0) {
}
Cannot decrement array
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_018.php(%d): Exception->__construct(Object(stdClass))
#1 {main}
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_019.php(%d): Exception->__construct(Object(stdClass))
#1 {main}
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: ErrorException::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: ErrorException::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_020.php(%d): ErrorException->__construct(Object(stdClass))
#1 {main}
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_021.php(%d): Error->__construct(Object(stdClass))
#1 {main}
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_022.php(%d): Error->__construct(Object(stdClass))
#1 {main}
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Generator::throw(): Argument #1 ($exception) must be of type Throwable, object given in %s:%d
+Fatal error: Uncaught TypeError: Generator::throw(): Argument #1 ($exception) must be of type Throwable, stdClass given in %s:%d
Stack trace:
#0 %s(%d): Generator->throw(Object(stdClass))
#1 {main}
int(1)
bool(true)
bool(false)
-Cannot increment object
+Cannot increment stdClass
object(stdClass)#%d (0) {
}
Cannot increment array
--EXPECTF--
NULL
-Fatal error: Uncaught TypeError: foo\bar::__construct(): Argument #1 ($x) must be of type ?array, object given, called in %s:%d
+Fatal error: Uncaught TypeError: foo\bar::__construct(): Argument #1 ($x) must be of type ?array, stdClass given, called in %s:%d
Stack trace:
#0 %s(%d): foo\bar->__construct(Object(stdClass))
#1 {main}
};
$three->a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of Two@anonymous::a() must be of type object, int returned in %s:%d
+Fatal error: Uncaught TypeError: Two@anonymous::a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(%d): Two@anonymous->a()
#1 {main}
}
a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of a() must be of type object, int returned in %s:4
+Fatal error: Uncaught TypeError: a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(6): a()
#1 {main}
};
$three->a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of Two@anonymous::a() must be of type object, int returned in %s:%d
+Fatal error: Uncaught TypeError: Two@anonymous::a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(%d): Two@anonymous->a()
#1 {main}
};
$three->a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of Two@anonymous::a() must be of type object, int returned in %s:%d
+Fatal error: Uncaught TypeError: Two@anonymous::a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(%d): Two@anonymous->a()
#1 {main}
--EXPECT--
BINARY OP:
No error for [] + []
-Unsupported operand types: array + object
+Unsupported operand types: array + stdClass
Unsupported operand types: array + resource
-Unsupported operand types: object + array
-Unsupported operand types: object + object
-Unsupported operand types: object + resource
+Unsupported operand types: stdClass + array
+Unsupported operand types: stdClass + stdClass
+Unsupported operand types: stdClass + resource
Unsupported operand types: resource + array
-Unsupported operand types: resource + object
+Unsupported operand types: resource + stdClass
Unsupported operand types: resource + resource
Unsupported operand types: array + null
Unsupported operand types: null + array
Unsupported operand types: array + string
Warning: A non-numeric value encountered
Unsupported operand types: string + array
-Unsupported operand types: object + null
-Unsupported operand types: null + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + int
-Unsupported operand types: int + object
-Unsupported operand types: object + float
-Unsupported operand types: float + object
-Unsupported operand types: object + string
-Unsupported operand types: string + object
-Unsupported operand types: object + string
+Unsupported operand types: stdClass + null
+Unsupported operand types: null + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + int
+Unsupported operand types: int + stdClass
+Unsupported operand types: stdClass + float
+Unsupported operand types: float + stdClass
+Unsupported operand types: stdClass + string
+Unsupported operand types: string + stdClass
+Unsupported operand types: stdClass + string
Warning: A non-numeric value encountered
-Unsupported operand types: string + object
+Unsupported operand types: string + stdClass
Unsupported operand types: resource + null
Unsupported operand types: null + resource
Unsupported operand types: resource + bool
Warning: A non-numeric value encountered
Unsupported operand types: string + resource
Unsupported operand types: array - array
-Unsupported operand types: array - object
+Unsupported operand types: array - stdClass
Unsupported operand types: array - resource
-Unsupported operand types: object - array
-Unsupported operand types: object - object
-Unsupported operand types: object - resource
+Unsupported operand types: stdClass - array
+Unsupported operand types: stdClass - stdClass
+Unsupported operand types: stdClass - resource
Unsupported operand types: resource - array
-Unsupported operand types: resource - object
+Unsupported operand types: resource - stdClass
Unsupported operand types: resource - resource
Unsupported operand types: array - null
Unsupported operand types: null - array
Unsupported operand types: array - string
Warning: A non-numeric value encountered
Unsupported operand types: string - array
-Unsupported operand types: object - null
-Unsupported operand types: null - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - int
-Unsupported operand types: int - object
-Unsupported operand types: object - float
-Unsupported operand types: float - object
-Unsupported operand types: object - string
-Unsupported operand types: string - object
-Unsupported operand types: object - string
+Unsupported operand types: stdClass - null
+Unsupported operand types: null - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - int
+Unsupported operand types: int - stdClass
+Unsupported operand types: stdClass - float
+Unsupported operand types: float - stdClass
+Unsupported operand types: stdClass - string
+Unsupported operand types: string - stdClass
+Unsupported operand types: stdClass - string
Warning: A non-numeric value encountered
-Unsupported operand types: string - object
+Unsupported operand types: string - stdClass
Unsupported operand types: resource - null
Unsupported operand types: null - resource
Unsupported operand types: resource - bool
Warning: A non-numeric value encountered
Unsupported operand types: string - resource
Unsupported operand types: array * array
-Unsupported operand types: object * array
+Unsupported operand types: stdClass * array
Unsupported operand types: resource * array
-Unsupported operand types: object * array
-Unsupported operand types: object * object
-Unsupported operand types: object * resource
+Unsupported operand types: stdClass * array
+Unsupported operand types: stdClass * stdClass
+Unsupported operand types: stdClass * resource
Unsupported operand types: resource * array
-Unsupported operand types: object * resource
+Unsupported operand types: stdClass * resource
Unsupported operand types: resource * resource
Unsupported operand types: array * null
Unsupported operand types: null * array
Unsupported operand types: array * string
Warning: A non-numeric value encountered
Unsupported operand types: string * array
-Unsupported operand types: object * null
-Unsupported operand types: object * null
-Unsupported operand types: object * bool
-Unsupported operand types: object * bool
-Unsupported operand types: object * bool
-Unsupported operand types: object * bool
-Unsupported operand types: object * int
-Unsupported operand types: object * int
-Unsupported operand types: object * float
-Unsupported operand types: object * float
-Unsupported operand types: object * string
-Unsupported operand types: object * string
-Unsupported operand types: object * string
-Unsupported operand types: object * string
+Unsupported operand types: stdClass * null
+Unsupported operand types: stdClass * null
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * int
+Unsupported operand types: stdClass * int
+Unsupported operand types: stdClass * float
+Unsupported operand types: stdClass * float
+Unsupported operand types: stdClass * string
+Unsupported operand types: stdClass * string
+Unsupported operand types: stdClass * string
+Unsupported operand types: stdClass * string
Unsupported operand types: resource * null
Unsupported operand types: resource * null
Unsupported operand types: resource * bool
Unsupported operand types: resource * string
Unsupported operand types: resource * string
Unsupported operand types: array / array
-Unsupported operand types: array / object
+Unsupported operand types: array / stdClass
Unsupported operand types: array / resource
-Unsupported operand types: object / array
-Unsupported operand types: object / object
-Unsupported operand types: object / resource
+Unsupported operand types: stdClass / array
+Unsupported operand types: stdClass / stdClass
+Unsupported operand types: stdClass / resource
Unsupported operand types: resource / array
-Unsupported operand types: resource / object
+Unsupported operand types: resource / stdClass
Unsupported operand types: resource / resource
Unsupported operand types: array / null
Unsupported operand types: null / array
Unsupported operand types: array / string
Warning: A non-numeric value encountered
Unsupported operand types: string / array
-Unsupported operand types: object / null
-Unsupported operand types: null / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / int
-Unsupported operand types: int / object
-Unsupported operand types: object / float
-Unsupported operand types: float / object
-Unsupported operand types: object / string
-Unsupported operand types: string / object
-Unsupported operand types: object / string
+Unsupported operand types: stdClass / null
+Unsupported operand types: null / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / int
+Unsupported operand types: int / stdClass
+Unsupported operand types: stdClass / float
+Unsupported operand types: float / stdClass
+Unsupported operand types: stdClass / string
+Unsupported operand types: string / stdClass
+Unsupported operand types: stdClass / string
Warning: A non-numeric value encountered
-Unsupported operand types: string / object
+Unsupported operand types: string / stdClass
Unsupported operand types: resource / null
Unsupported operand types: null / resource
Unsupported operand types: resource / bool
Warning: A non-numeric value encountered
Unsupported operand types: string / resource
Unsupported operand types: array % array
-Unsupported operand types: array % object
+Unsupported operand types: array % stdClass
Unsupported operand types: array % resource
-Unsupported operand types: object % array
-Unsupported operand types: object % object
-Unsupported operand types: object % resource
+Unsupported operand types: stdClass % array
+Unsupported operand types: stdClass % stdClass
+Unsupported operand types: stdClass % resource
Unsupported operand types: resource % array
-Unsupported operand types: resource % object
+Unsupported operand types: resource % stdClass
Unsupported operand types: resource % resource
Unsupported operand types: array % null
Unsupported operand types: null % array
Unsupported operand types: array % string
Warning: A non-numeric value encountered
Unsupported operand types: string % array
-Unsupported operand types: object % null
-Unsupported operand types: null % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % int
-Unsupported operand types: int % object
-Unsupported operand types: object % float
-Unsupported operand types: float % object
-Unsupported operand types: object % string
-Unsupported operand types: string % object
-Unsupported operand types: object % string
+Unsupported operand types: stdClass % null
+Unsupported operand types: null % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % int
+Unsupported operand types: int % stdClass
+Unsupported operand types: stdClass % float
+Unsupported operand types: float % stdClass
+Unsupported operand types: stdClass % string
+Unsupported operand types: string % stdClass
+Unsupported operand types: stdClass % string
Warning: A non-numeric value encountered
-Unsupported operand types: string % object
+Unsupported operand types: string % stdClass
Unsupported operand types: resource % null
Unsupported operand types: null % resource
Unsupported operand types: resource % bool
Warning: A non-numeric value encountered
Unsupported operand types: string % resource
Unsupported operand types: array ** array
-Unsupported operand types: array ** object
+Unsupported operand types: array ** stdClass
Unsupported operand types: array ** resource
-Unsupported operand types: object ** array
-Unsupported operand types: object ** object
-Unsupported operand types: object ** resource
+Unsupported operand types: stdClass ** array
+Unsupported operand types: stdClass ** stdClass
+Unsupported operand types: stdClass ** resource
Unsupported operand types: resource ** array
-Unsupported operand types: resource ** object
+Unsupported operand types: resource ** stdClass
Unsupported operand types: resource ** resource
Unsupported operand types: array ** null
Unsupported operand types: null ** array
Unsupported operand types: array ** string
Warning: A non-numeric value encountered
Unsupported operand types: string ** array
-Unsupported operand types: object ** null
-Unsupported operand types: null ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** int
-Unsupported operand types: int ** object
-Unsupported operand types: object ** float
-Unsupported operand types: float ** object
-Unsupported operand types: object ** string
-Unsupported operand types: string ** object
-Unsupported operand types: object ** string
+Unsupported operand types: stdClass ** null
+Unsupported operand types: null ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** int
+Unsupported operand types: int ** stdClass
+Unsupported operand types: stdClass ** float
+Unsupported operand types: float ** stdClass
+Unsupported operand types: stdClass ** string
+Unsupported operand types: string ** stdClass
+Unsupported operand types: stdClass ** string
Warning: A non-numeric value encountered
-Unsupported operand types: string ** object
+Unsupported operand types: string ** stdClass
Unsupported operand types: resource ** null
Unsupported operand types: null ** resource
Unsupported operand types: resource ** bool
Warning: A non-numeric value encountered
Unsupported operand types: string ** resource
Unsupported operand types: array << array
-Unsupported operand types: array << object
+Unsupported operand types: array << stdClass
Unsupported operand types: array << resource
-Unsupported operand types: object << array
-Unsupported operand types: object << object
-Unsupported operand types: object << resource
+Unsupported operand types: stdClass << array
+Unsupported operand types: stdClass << stdClass
+Unsupported operand types: stdClass << resource
Unsupported operand types: resource << array
-Unsupported operand types: resource << object
+Unsupported operand types: resource << stdClass
Unsupported operand types: resource << resource
Unsupported operand types: array << null
Unsupported operand types: null << array
Unsupported operand types: array << string
Warning: A non-numeric value encountered
Unsupported operand types: string << array
-Unsupported operand types: object << null
-Unsupported operand types: null << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << int
-Unsupported operand types: int << object
-Unsupported operand types: object << float
-Unsupported operand types: float << object
-Unsupported operand types: object << string
-Unsupported operand types: string << object
-Unsupported operand types: object << string
+Unsupported operand types: stdClass << null
+Unsupported operand types: null << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << int
+Unsupported operand types: int << stdClass
+Unsupported operand types: stdClass << float
+Unsupported operand types: float << stdClass
+Unsupported operand types: stdClass << string
+Unsupported operand types: string << stdClass
+Unsupported operand types: stdClass << string
Warning: A non-numeric value encountered
-Unsupported operand types: string << object
+Unsupported operand types: string << stdClass
Unsupported operand types: resource << null
Unsupported operand types: null << resource
Unsupported operand types: resource << bool
Warning: A non-numeric value encountered
Unsupported operand types: string << resource
Unsupported operand types: array >> array
-Unsupported operand types: array >> object
+Unsupported operand types: array >> stdClass
Unsupported operand types: array >> resource
-Unsupported operand types: object >> array
-Unsupported operand types: object >> object
-Unsupported operand types: object >> resource
+Unsupported operand types: stdClass >> array
+Unsupported operand types: stdClass >> stdClass
+Unsupported operand types: stdClass >> resource
Unsupported operand types: resource >> array
-Unsupported operand types: resource >> object
+Unsupported operand types: resource >> stdClass
Unsupported operand types: resource >> resource
Unsupported operand types: array >> null
Unsupported operand types: null >> array
Unsupported operand types: array >> string
Warning: A non-numeric value encountered
Unsupported operand types: string >> array
-Unsupported operand types: object >> null
-Unsupported operand types: null >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> int
-Unsupported operand types: int >> object
-Unsupported operand types: object >> float
-Unsupported operand types: float >> object
-Unsupported operand types: object >> string
-Unsupported operand types: string >> object
-Unsupported operand types: object >> string
+Unsupported operand types: stdClass >> null
+Unsupported operand types: null >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> int
+Unsupported operand types: int >> stdClass
+Unsupported operand types: stdClass >> float
+Unsupported operand types: float >> stdClass
+Unsupported operand types: stdClass >> string
+Unsupported operand types: string >> stdClass
+Unsupported operand types: stdClass >> string
Warning: A non-numeric value encountered
-Unsupported operand types: string >> object
+Unsupported operand types: string >> stdClass
Unsupported operand types: resource >> null
Unsupported operand types: null >> resource
Unsupported operand types: resource >> bool
Warning: A non-numeric value encountered
Unsupported operand types: string >> resource
Unsupported operand types: array & array
-Unsupported operand types: object & array
+Unsupported operand types: stdClass & array
Unsupported operand types: resource & array
-Unsupported operand types: object & array
-Unsupported operand types: object & object
-Unsupported operand types: object & resource
+Unsupported operand types: stdClass & array
+Unsupported operand types: stdClass & stdClass
+Unsupported operand types: stdClass & resource
Unsupported operand types: resource & array
-Unsupported operand types: object & resource
+Unsupported operand types: stdClass & resource
Unsupported operand types: resource & resource
Unsupported operand types: array & null
Unsupported operand types: null & array
Unsupported operand types: array & string
Warning: A non-numeric value encountered
Unsupported operand types: string & array
-Unsupported operand types: object & null
-Unsupported operand types: object & null
-Unsupported operand types: object & bool
-Unsupported operand types: object & bool
-Unsupported operand types: object & bool
-Unsupported operand types: object & bool
-Unsupported operand types: object & int
-Unsupported operand types: object & int
-Unsupported operand types: object & float
-Unsupported operand types: object & float
-Unsupported operand types: object & string
-Unsupported operand types: object & string
-Unsupported operand types: object & string
-Unsupported operand types: object & string
+Unsupported operand types: stdClass & null
+Unsupported operand types: stdClass & null
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & int
+Unsupported operand types: stdClass & int
+Unsupported operand types: stdClass & float
+Unsupported operand types: stdClass & float
+Unsupported operand types: stdClass & string
+Unsupported operand types: stdClass & string
+Unsupported operand types: stdClass & string
+Unsupported operand types: stdClass & string
Unsupported operand types: resource & null
Unsupported operand types: resource & null
Unsupported operand types: resource & bool
Unsupported operand types: resource & string
Unsupported operand types: resource & string
Unsupported operand types: array | array
-Unsupported operand types: object | array
+Unsupported operand types: stdClass | array
Unsupported operand types: resource | array
-Unsupported operand types: object | array
-Unsupported operand types: object | object
-Unsupported operand types: object | resource
+Unsupported operand types: stdClass | array
+Unsupported operand types: stdClass | stdClass
+Unsupported operand types: stdClass | resource
Unsupported operand types: resource | array
-Unsupported operand types: object | resource
+Unsupported operand types: stdClass | resource
Unsupported operand types: resource | resource
Unsupported operand types: array | null
Unsupported operand types: null | array
Unsupported operand types: array | string
Warning: A non-numeric value encountered
Unsupported operand types: string | array
-Unsupported operand types: object | null
-Unsupported operand types: object | null
-Unsupported operand types: object | bool
-Unsupported operand types: object | bool
-Unsupported operand types: object | bool
-Unsupported operand types: object | bool
-Unsupported operand types: object | int
-Unsupported operand types: object | int
-Unsupported operand types: object | float
-Unsupported operand types: object | float
-Unsupported operand types: object | string
-Unsupported operand types: object | string
-Unsupported operand types: object | string
-Unsupported operand types: object | string
+Unsupported operand types: stdClass | null
+Unsupported operand types: stdClass | null
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | int
+Unsupported operand types: stdClass | int
+Unsupported operand types: stdClass | float
+Unsupported operand types: stdClass | float
+Unsupported operand types: stdClass | string
+Unsupported operand types: stdClass | string
+Unsupported operand types: stdClass | string
+Unsupported operand types: stdClass | string
Unsupported operand types: resource | null
Unsupported operand types: resource | null
Unsupported operand types: resource | bool
Unsupported operand types: resource | string
Unsupported operand types: resource | string
Unsupported operand types: array ^ array
-Unsupported operand types: object ^ array
+Unsupported operand types: stdClass ^ array
Unsupported operand types: resource ^ array
-Unsupported operand types: object ^ array
-Unsupported operand types: object ^ object
-Unsupported operand types: object ^ resource
+Unsupported operand types: stdClass ^ array
+Unsupported operand types: stdClass ^ stdClass
+Unsupported operand types: stdClass ^ resource
Unsupported operand types: resource ^ array
-Unsupported operand types: object ^ resource
+Unsupported operand types: stdClass ^ resource
Unsupported operand types: resource ^ resource
Unsupported operand types: array ^ null
Unsupported operand types: null ^ array
Unsupported operand types: array ^ string
Warning: A non-numeric value encountered
Unsupported operand types: string ^ array
-Unsupported operand types: object ^ null
-Unsupported operand types: object ^ null
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ int
-Unsupported operand types: object ^ int
-Unsupported operand types: object ^ float
-Unsupported operand types: object ^ float
-Unsupported operand types: object ^ string
-Unsupported operand types: object ^ string
-Unsupported operand types: object ^ string
-Unsupported operand types: object ^ string
+Unsupported operand types: stdClass ^ null
+Unsupported operand types: stdClass ^ null
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ int
+Unsupported operand types: stdClass ^ int
+Unsupported operand types: stdClass ^ float
+Unsupported operand types: stdClass ^ float
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: stdClass ^ string
Unsupported operand types: resource ^ null
Unsupported operand types: resource ^ null
Unsupported operand types: resource ^ bool
ASSIGN OP:
No error for [] += []
-Unsupported operand types: array + object
+Unsupported operand types: array + stdClass
Unsupported operand types: array + resource
-Unsupported operand types: object + array
-Unsupported operand types: object + object
-Unsupported operand types: object + resource
+Unsupported operand types: stdClass + array
+Unsupported operand types: stdClass + stdClass
+Unsupported operand types: stdClass + resource
Unsupported operand types: resource + array
-Unsupported operand types: resource + object
+Unsupported operand types: resource + stdClass
Unsupported operand types: resource + resource
Unsupported operand types: array + null
Unsupported operand types: null + array
Unsupported operand types: array + string
Warning: A non-numeric value encountered
Unsupported operand types: string + array
-Unsupported operand types: object + null
-Unsupported operand types: null + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + int
-Unsupported operand types: int + object
-Unsupported operand types: object + float
-Unsupported operand types: float + object
-Unsupported operand types: object + string
-Unsupported operand types: string + object
-Unsupported operand types: object + string
+Unsupported operand types: stdClass + null
+Unsupported operand types: null + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + int
+Unsupported operand types: int + stdClass
+Unsupported operand types: stdClass + float
+Unsupported operand types: float + stdClass
+Unsupported operand types: stdClass + string
+Unsupported operand types: string + stdClass
+Unsupported operand types: stdClass + string
Warning: A non-numeric value encountered
-Unsupported operand types: string + object
+Unsupported operand types: string + stdClass
Unsupported operand types: resource + null
Unsupported operand types: null + resource
Unsupported operand types: resource + bool
Warning: A non-numeric value encountered
Unsupported operand types: string + resource
Unsupported operand types: array - array
-Unsupported operand types: array - object
+Unsupported operand types: array - stdClass
Unsupported operand types: array - resource
-Unsupported operand types: object - array
-Unsupported operand types: object - object
-Unsupported operand types: object - resource
+Unsupported operand types: stdClass - array
+Unsupported operand types: stdClass - stdClass
+Unsupported operand types: stdClass - resource
Unsupported operand types: resource - array
-Unsupported operand types: resource - object
+Unsupported operand types: resource - stdClass
Unsupported operand types: resource - resource
Unsupported operand types: array - null
Unsupported operand types: null - array
Unsupported operand types: array - string
Warning: A non-numeric value encountered
Unsupported operand types: string - array
-Unsupported operand types: object - null
-Unsupported operand types: null - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - int
-Unsupported operand types: int - object
-Unsupported operand types: object - float
-Unsupported operand types: float - object
-Unsupported operand types: object - string
-Unsupported operand types: string - object
-Unsupported operand types: object - string
+Unsupported operand types: stdClass - null
+Unsupported operand types: null - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - int
+Unsupported operand types: int - stdClass
+Unsupported operand types: stdClass - float
+Unsupported operand types: float - stdClass
+Unsupported operand types: stdClass - string
+Unsupported operand types: string - stdClass
+Unsupported operand types: stdClass - string
Warning: A non-numeric value encountered
-Unsupported operand types: string - object
+Unsupported operand types: string - stdClass
Unsupported operand types: resource - null
Unsupported operand types: null - resource
Unsupported operand types: resource - bool
Warning: A non-numeric value encountered
Unsupported operand types: string - resource
Unsupported operand types: array * array
-Unsupported operand types: array * object
+Unsupported operand types: array * stdClass
Unsupported operand types: array * resource
-Unsupported operand types: object * array
-Unsupported operand types: object * object
-Unsupported operand types: object * resource
+Unsupported operand types: stdClass * array
+Unsupported operand types: stdClass * stdClass
+Unsupported operand types: stdClass * resource
Unsupported operand types: resource * array
-Unsupported operand types: resource * object
+Unsupported operand types: resource * stdClass
Unsupported operand types: resource * resource
Unsupported operand types: array * null
Unsupported operand types: null * array
Unsupported operand types: array * string
Warning: A non-numeric value encountered
Unsupported operand types: string * array
-Unsupported operand types: object * null
-Unsupported operand types: null * object
-Unsupported operand types: object * bool
-Unsupported operand types: bool * object
-Unsupported operand types: object * bool
-Unsupported operand types: bool * object
-Unsupported operand types: object * int
-Unsupported operand types: int * object
-Unsupported operand types: object * float
-Unsupported operand types: float * object
-Unsupported operand types: object * string
-Unsupported operand types: string * object
-Unsupported operand types: object * string
+Unsupported operand types: stdClass * null
+Unsupported operand types: null * stdClass
+Unsupported operand types: stdClass * bool
+Unsupported operand types: bool * stdClass
+Unsupported operand types: stdClass * bool
+Unsupported operand types: bool * stdClass
+Unsupported operand types: stdClass * int
+Unsupported operand types: int * stdClass
+Unsupported operand types: stdClass * float
+Unsupported operand types: float * stdClass
+Unsupported operand types: stdClass * string
+Unsupported operand types: string * stdClass
+Unsupported operand types: stdClass * string
Warning: A non-numeric value encountered
-Unsupported operand types: string * object
+Unsupported operand types: string * stdClass
Unsupported operand types: resource * null
Unsupported operand types: null * resource
Unsupported operand types: resource * bool
Warning: A non-numeric value encountered
Unsupported operand types: string * resource
Unsupported operand types: array / array
-Unsupported operand types: array / object
+Unsupported operand types: array / stdClass
Unsupported operand types: array / resource
-Unsupported operand types: object / array
-Unsupported operand types: object / object
-Unsupported operand types: object / resource
+Unsupported operand types: stdClass / array
+Unsupported operand types: stdClass / stdClass
+Unsupported operand types: stdClass / resource
Unsupported operand types: resource / array
-Unsupported operand types: resource / object
+Unsupported operand types: resource / stdClass
Unsupported operand types: resource / resource
Unsupported operand types: array / null
Unsupported operand types: null / array
Unsupported operand types: array / string
Warning: A non-numeric value encountered
Unsupported operand types: string / array
-Unsupported operand types: object / null
-Unsupported operand types: null / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / int
-Unsupported operand types: int / object
-Unsupported operand types: object / float
-Unsupported operand types: float / object
-Unsupported operand types: object / string
-Unsupported operand types: string / object
-Unsupported operand types: object / string
+Unsupported operand types: stdClass / null
+Unsupported operand types: null / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / int
+Unsupported operand types: int / stdClass
+Unsupported operand types: stdClass / float
+Unsupported operand types: float / stdClass
+Unsupported operand types: stdClass / string
+Unsupported operand types: string / stdClass
+Unsupported operand types: stdClass / string
Warning: A non-numeric value encountered
-Unsupported operand types: string / object
+Unsupported operand types: string / stdClass
Unsupported operand types: resource / null
Unsupported operand types: null / resource
Unsupported operand types: resource / bool
Warning: A non-numeric value encountered
Unsupported operand types: string / resource
Unsupported operand types: array % array
-Unsupported operand types: array % object
+Unsupported operand types: array % stdClass
Unsupported operand types: array % resource
-Unsupported operand types: object % array
-Unsupported operand types: object % object
-Unsupported operand types: object % resource
+Unsupported operand types: stdClass % array
+Unsupported operand types: stdClass % stdClass
+Unsupported operand types: stdClass % resource
Unsupported operand types: resource % array
-Unsupported operand types: resource % object
+Unsupported operand types: resource % stdClass
Unsupported operand types: resource % resource
Unsupported operand types: array % null
Unsupported operand types: null % array
Unsupported operand types: array % string
Warning: A non-numeric value encountered
Unsupported operand types: string % array
-Unsupported operand types: object % null
-Unsupported operand types: null % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % int
-Unsupported operand types: int % object
-Unsupported operand types: object % float
-Unsupported operand types: float % object
-Unsupported operand types: object % string
-Unsupported operand types: string % object
-Unsupported operand types: object % string
+Unsupported operand types: stdClass % null
+Unsupported operand types: null % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % int
+Unsupported operand types: int % stdClass
+Unsupported operand types: stdClass % float
+Unsupported operand types: float % stdClass
+Unsupported operand types: stdClass % string
+Unsupported operand types: string % stdClass
+Unsupported operand types: stdClass % string
Warning: A non-numeric value encountered
-Unsupported operand types: string % object
+Unsupported operand types: string % stdClass
Unsupported operand types: resource % null
Unsupported operand types: null % resource
Unsupported operand types: resource % bool
Warning: A non-numeric value encountered
Unsupported operand types: string % resource
Unsupported operand types: array ** array
-Unsupported operand types: array ** object
+Unsupported operand types: array ** stdClass
Unsupported operand types: array ** resource
-Unsupported operand types: object ** array
-Unsupported operand types: object ** object
-Unsupported operand types: object ** resource
+Unsupported operand types: stdClass ** array
+Unsupported operand types: stdClass ** stdClass
+Unsupported operand types: stdClass ** resource
Unsupported operand types: resource ** array
-Unsupported operand types: resource ** object
+Unsupported operand types: resource ** stdClass
Unsupported operand types: resource ** resource
Unsupported operand types: array ** null
Unsupported operand types: null ** array
Unsupported operand types: array ** string
Warning: A non-numeric value encountered
Unsupported operand types: string ** array
-Unsupported operand types: object ** null
-Unsupported operand types: null ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** int
-Unsupported operand types: int ** object
-Unsupported operand types: object ** float
-Unsupported operand types: float ** object
-Unsupported operand types: object ** string
-Unsupported operand types: string ** object
-Unsupported operand types: object ** string
+Unsupported operand types: stdClass ** null
+Unsupported operand types: null ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** int
+Unsupported operand types: int ** stdClass
+Unsupported operand types: stdClass ** float
+Unsupported operand types: float ** stdClass
+Unsupported operand types: stdClass ** string
+Unsupported operand types: string ** stdClass
+Unsupported operand types: stdClass ** string
Warning: A non-numeric value encountered
-Unsupported operand types: string ** object
+Unsupported operand types: string ** stdClass
Unsupported operand types: resource ** null
Unsupported operand types: null ** resource
Unsupported operand types: resource ** bool
Warning: A non-numeric value encountered
Unsupported operand types: string ** resource
Unsupported operand types: array << array
-Unsupported operand types: array << object
+Unsupported operand types: array << stdClass
Unsupported operand types: array << resource
-Unsupported operand types: object << array
-Unsupported operand types: object << object
-Unsupported operand types: object << resource
+Unsupported operand types: stdClass << array
+Unsupported operand types: stdClass << stdClass
+Unsupported operand types: stdClass << resource
Unsupported operand types: resource << array
-Unsupported operand types: resource << object
+Unsupported operand types: resource << stdClass
Unsupported operand types: resource << resource
Unsupported operand types: array << null
Unsupported operand types: null << array
Unsupported operand types: array << string
Warning: A non-numeric value encountered
Unsupported operand types: string << array
-Unsupported operand types: object << null
-Unsupported operand types: null << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << int
-Unsupported operand types: int << object
-Unsupported operand types: object << float
-Unsupported operand types: float << object
-Unsupported operand types: object << string
-Unsupported operand types: string << object
-Unsupported operand types: object << string
+Unsupported operand types: stdClass << null
+Unsupported operand types: null << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << int
+Unsupported operand types: int << stdClass
+Unsupported operand types: stdClass << float
+Unsupported operand types: float << stdClass
+Unsupported operand types: stdClass << string
+Unsupported operand types: string << stdClass
+Unsupported operand types: stdClass << string
Warning: A non-numeric value encountered
-Unsupported operand types: string << object
+Unsupported operand types: string << stdClass
Unsupported operand types: resource << null
Unsupported operand types: null << resource
Unsupported operand types: resource << bool
Warning: A non-numeric value encountered
Unsupported operand types: string << resource
Unsupported operand types: array >> array
-Unsupported operand types: array >> object
+Unsupported operand types: array >> stdClass
Unsupported operand types: array >> resource
-Unsupported operand types: object >> array
-Unsupported operand types: object >> object
-Unsupported operand types: object >> resource
+Unsupported operand types: stdClass >> array
+Unsupported operand types: stdClass >> stdClass
+Unsupported operand types: stdClass >> resource
Unsupported operand types: resource >> array
-Unsupported operand types: resource >> object
+Unsupported operand types: resource >> stdClass
Unsupported operand types: resource >> resource
Unsupported operand types: array >> null
Unsupported operand types: null >> array
Unsupported operand types: array >> string
Warning: A non-numeric value encountered
Unsupported operand types: string >> array
-Unsupported operand types: object >> null
-Unsupported operand types: null >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> int
-Unsupported operand types: int >> object
-Unsupported operand types: object >> float
-Unsupported operand types: float >> object
-Unsupported operand types: object >> string
-Unsupported operand types: string >> object
-Unsupported operand types: object >> string
+Unsupported operand types: stdClass >> null
+Unsupported operand types: null >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> int
+Unsupported operand types: int >> stdClass
+Unsupported operand types: stdClass >> float
+Unsupported operand types: float >> stdClass
+Unsupported operand types: stdClass >> string
+Unsupported operand types: string >> stdClass
+Unsupported operand types: stdClass >> string
Warning: A non-numeric value encountered
-Unsupported operand types: string >> object
+Unsupported operand types: string >> stdClass
Unsupported operand types: resource >> null
Unsupported operand types: null >> resource
Unsupported operand types: resource >> bool
Warning: A non-numeric value encountered
Unsupported operand types: string >> resource
Unsupported operand types: array & array
-Unsupported operand types: array & object
+Unsupported operand types: array & stdClass
Unsupported operand types: array & resource
-Unsupported operand types: object & array
-Unsupported operand types: object & object
-Unsupported operand types: object & resource
+Unsupported operand types: stdClass & array
+Unsupported operand types: stdClass & stdClass
+Unsupported operand types: stdClass & resource
Unsupported operand types: resource & array
-Unsupported operand types: resource & object
+Unsupported operand types: resource & stdClass
Unsupported operand types: resource & resource
Unsupported operand types: array & null
Unsupported operand types: null & array
Unsupported operand types: array & string
Warning: A non-numeric value encountered
Unsupported operand types: string & array
-Unsupported operand types: object & null
-Unsupported operand types: null & object
-Unsupported operand types: object & bool
-Unsupported operand types: bool & object
-Unsupported operand types: object & bool
-Unsupported operand types: bool & object
-Unsupported operand types: object & int
-Unsupported operand types: int & object
-Unsupported operand types: object & float
-Unsupported operand types: float & object
-Unsupported operand types: object & string
-Unsupported operand types: string & object
-Unsupported operand types: object & string
+Unsupported operand types: stdClass & null
+Unsupported operand types: null & stdClass
+Unsupported operand types: stdClass & bool
+Unsupported operand types: bool & stdClass
+Unsupported operand types: stdClass & bool
+Unsupported operand types: bool & stdClass
+Unsupported operand types: stdClass & int
+Unsupported operand types: int & stdClass
+Unsupported operand types: stdClass & float
+Unsupported operand types: float & stdClass
+Unsupported operand types: stdClass & string
+Unsupported operand types: string & stdClass
+Unsupported operand types: stdClass & string
Warning: A non-numeric value encountered
-Unsupported operand types: string & object
+Unsupported operand types: string & stdClass
Unsupported operand types: resource & null
Unsupported operand types: null & resource
Unsupported operand types: resource & bool
Warning: A non-numeric value encountered
Unsupported operand types: string & resource
Unsupported operand types: array | array
-Unsupported operand types: array | object
+Unsupported operand types: array | stdClass
Unsupported operand types: array | resource
-Unsupported operand types: object | array
-Unsupported operand types: object | object
-Unsupported operand types: object | resource
+Unsupported operand types: stdClass | array
+Unsupported operand types: stdClass | stdClass
+Unsupported operand types: stdClass | resource
Unsupported operand types: resource | array
-Unsupported operand types: resource | object
+Unsupported operand types: resource | stdClass
Unsupported operand types: resource | resource
Unsupported operand types: array | null
Unsupported operand types: null | array
Unsupported operand types: array | string
Warning: A non-numeric value encountered
Unsupported operand types: string | array
-Unsupported operand types: object | null
-Unsupported operand types: null | object
-Unsupported operand types: object | bool
-Unsupported operand types: bool | object
-Unsupported operand types: object | bool
-Unsupported operand types: bool | object
-Unsupported operand types: object | int
-Unsupported operand types: int | object
-Unsupported operand types: object | float
-Unsupported operand types: float | object
-Unsupported operand types: object | string
-Unsupported operand types: string | object
-Unsupported operand types: object | string
+Unsupported operand types: stdClass | null
+Unsupported operand types: null | stdClass
+Unsupported operand types: stdClass | bool
+Unsupported operand types: bool | stdClass
+Unsupported operand types: stdClass | bool
+Unsupported operand types: bool | stdClass
+Unsupported operand types: stdClass | int
+Unsupported operand types: int | stdClass
+Unsupported operand types: stdClass | float
+Unsupported operand types: float | stdClass
+Unsupported operand types: stdClass | string
+Unsupported operand types: string | stdClass
+Unsupported operand types: stdClass | string
Warning: A non-numeric value encountered
-Unsupported operand types: string | object
+Unsupported operand types: string | stdClass
Unsupported operand types: resource | null
Unsupported operand types: null | resource
Unsupported operand types: resource | bool
Warning: A non-numeric value encountered
Unsupported operand types: string | resource
Unsupported operand types: array ^ array
-Unsupported operand types: array ^ object
+Unsupported operand types: array ^ stdClass
Unsupported operand types: array ^ resource
-Unsupported operand types: object ^ array
-Unsupported operand types: object ^ object
-Unsupported operand types: object ^ resource
+Unsupported operand types: stdClass ^ array
+Unsupported operand types: stdClass ^ stdClass
+Unsupported operand types: stdClass ^ resource
Unsupported operand types: resource ^ array
-Unsupported operand types: resource ^ object
+Unsupported operand types: resource ^ stdClass
Unsupported operand types: resource ^ resource
Unsupported operand types: array ^ null
Unsupported operand types: null ^ array
Unsupported operand types: array ^ string
Warning: A non-numeric value encountered
Unsupported operand types: string ^ array
-Unsupported operand types: object ^ null
-Unsupported operand types: null ^ object
-Unsupported operand types: object ^ bool
-Unsupported operand types: bool ^ object
-Unsupported operand types: object ^ bool
-Unsupported operand types: bool ^ object
-Unsupported operand types: object ^ int
-Unsupported operand types: int ^ object
-Unsupported operand types: object ^ float
-Unsupported operand types: float ^ object
-Unsupported operand types: object ^ string
-Unsupported operand types: string ^ object
-Unsupported operand types: object ^ string
+Unsupported operand types: stdClass ^ null
+Unsupported operand types: null ^ stdClass
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: bool ^ stdClass
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: bool ^ stdClass
+Unsupported operand types: stdClass ^ int
+Unsupported operand types: int ^ stdClass
+Unsupported operand types: stdClass ^ float
+Unsupported operand types: float ^ stdClass
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: string ^ stdClass
+Unsupported operand types: stdClass ^ string
Warning: A non-numeric value encountered
-Unsupported operand types: string ^ object
+Unsupported operand types: string ^ stdClass
Unsupported operand types: resource ^ null
Unsupported operand types: null ^ resource
Unsupported operand types: resource ^ bool
UNARY OP:
Cannot perform bitwise not on array
-Cannot perform bitwise not on object
+Cannot perform bitwise not on stdClass
Cannot perform bitwise not on resource
INCDEC:
Cannot increment array
Cannot decrement array
-Cannot increment object
-Cannot decrement object
+Cannot increment stdClass
+Cannot decrement stdClass
Cannot increment resource
Cannot decrement resource
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, none returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, none returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, null returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
}
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, int returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, int returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, string returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, string returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
$qux = new qux();
$qux->foo();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of qux::foo() must be of type foo, qux returned in %s:%d
+Fatal error: Uncaught TypeError: qux::foo(): Return value must be of type foo, qux returned in %s:%d
Stack trace:
#0 %s(%d): qux->foo()
#1 {main}
$array = [1, 2, 3];
var_dump(foo($array));
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of foo() must be of type array, null returned in %s:%d
+Fatal error: Uncaught TypeError: foo(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): foo(Array)
#1 {main}
$baz = new foo();
var_dump($func=$baz->bar(), $func());
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of foo::{closure}() must be of type array, null returned in %s:%d
+Fatal error: Uncaught TypeError: foo::{closure}(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): foo->{closure}()
#1 {main}
?>
--EXPECTF--
-Return value of foo() must be of type stdClass, array returned in %s on line %d
+foo(): Return value must be of type stdClass, array returned in %s on line %d
#0 %s(%d): foo()
#1 {main}
-Next TypeError: Return value of foo() must be of type array, null returned in %s29.php:%d
+Next TypeError: foo(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): foo()
#1 {main}
ok
ok
-Fatal error: Uncaught TypeError: Return value of foo() must be of type ?array, int returned in %s030.php:3
+Fatal error: Uncaught TypeError: foo(): Return value must be of type ?array, int returned in %s:%d
Stack trace:
#0 %s030.php(10): foo(0)
#1 {main}
}
?>
--EXPECT--
-string(64) "Return value of getNumber() must be of type int, string returned"
+string(62) "getNumber(): Return value must be of type int, string returned"
boom();
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of boom() must be of type array, null returned in %sbug71092.php:%d
+Fatal error: Uncaught TypeError: boom(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): boom()
#1 {main}
<?php
zend_test_array_return();
?>
---EXPECTF--
-Fatal error: Return value of zend_test_array_return() must be of type array, null returned in %s on line %d
+--EXPECT--
+Fatal error: zend_test_array_return(): Return value must be of type array, null returned in Unknown on line 0
get_config();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of get_config() must be of type array, int returned in %s:%d
+Fatal error: Uncaught TypeError: get_config(): Return value must be of type array, int returned in %s:%d
Stack trace:
#0 %s(%d): get_config()
#1 {main}
foo();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of foo() must be of type DateTime, null returned in %s:%d
+Fatal error: Uncaught TypeError: foo(): Return value must be of type DateTime, null returned in %s:%d
Stack trace:
#0 %s(%d): foo()
#1 {main}
string(11) "exception 1"
bool(true)
string(20) "false ? true : throw"
-string(39) "Unsupported operand types: object + int"
+string(42) "Unsupported operand types: Exception + int"
string(35) "throw $exception = new Exception();"
string(37) "throw $exception ??= new Exception();"
string(30) "throw null ?? new Exception();"
?>
--EXPECTF--
-Return value of C::test1() must be of type int, string returned
+C::test1(): Return value must be of type int, string returned
C::test2(): Argument #1 ($arg) must be of type int, string given, called in %s on line %d
C::test3(): Argument #1 ($arg) must be of type int, string given, called in %s on line %d
}
object(Generator)#2 (0) {
}
-Return value of baz() must be of type iterable, int returned
+baz(): Return value must be of type iterable, int returned
}
?>
---EXPECTF--
-Return value of foo() must be of type mixed, none returned
-
+--EXPECT--
+foo(): Return value must be of type mixed, none returned
?>
--EXPECT--
-Return value of foo() must be of type mixed, none returned
+foo(): Return value must be of type mixed, none returned
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, StringCapable given, called in %s on line %d
*** Trying resource(%d) of type (stream)
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, StringCapable given, called in %s on line %d
*** Trying resource(%d) of type (stream)
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, StringCapable given, called in %s on line %d
*** Trying resource(%d) of type (stream)
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
E_NOTICE: A non well formed numeric value encountered on line %d
int(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying int(2147483647)
int(2147483647)
*** Trying float(NAN)
-*** Caught Return value of {closure}() must be of type int, float returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, float returned in %s on line %d
*** Trying bool(true)
int(1)
*** Trying bool(false)
int(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type int, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type int, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type int, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, resource returned in %s on line %d
Testing 'float' type:
*** Trying int(1)
E_NOTICE: A non well formed numeric value encountered on line %d
float(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying int(2147483647)
float(2147483647)
*** Trying float(NAN)
*** Trying bool(false)
float(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type float, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type float, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type float, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, resource returned in %s on line %d
Testing 'string' type:
*** Trying int(1)
*** Trying bool(false)
string(0) ""
*** Trying NULL
-*** Caught Return value of {closure}() must be of type string, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type string, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type string, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
string(6) "foobar"
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type string, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, resource returned in %s on line %d
Testing 'bool' type:
*** Trying int(1)
*** Trying bool(false)
bool(false)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type bool, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type bool, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type bool, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, resource returned in %s on line %d
Done
E_NOTICE: A non well formed numeric value encountered on line %d
int(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying int(9223372036854775807)
int(9223372036854775807)
*** Trying float(NAN)
-*** Caught Return value of {closure}() must be of type int, float returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, float returned in %s on line %d
*** Trying bool(true)
int(1)
*** Trying bool(false)
int(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type int, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type int, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type int, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, resource returned in %s on line %d
Testing 'float' type:
*** Trying int(1)
E_NOTICE: A non well formed numeric value encountered on line %d
float(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying int(9223372036854775807)
float(9.223372036854776E+18)
*** Trying float(NAN)
*** Trying bool(false)
float(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type float, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type float, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type float, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, resource returned in %s on line %d
Testing 'string' type:
*** Trying int(1)
*** Trying bool(false)
string(0) ""
*** Trying NULL
-*** Caught Return value of {closure}() must be of type string, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type string, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type string, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
string(6) "foobar"
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type string, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, resource returned in %s on line %d
Testing 'bool' type:
*** Trying int(1)
*** Trying bool(false)
bool(false)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type bool, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type bool, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type bool, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, resource returned in %s on line %d
Done
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
*** Caught {closure}(): Argument #1 ($i) must be of type int, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
*** Caught {closure}(): Argument #1 ($f) must be of type float, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
*** Caught {closure}(): Argument #1 ($s) must be of type string, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
*** Caught {closure}(): Argument #1 ($b) must be of type bool, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
object(A)#3 (0) {
}
-Return value of A::test2() must be of type B, A returned
+A::test2(): Return value must be of type B, A returned
object(A)#3 (0) {
}
object(A)#3 (0) {
}
-Return value of A::test4() must be of type B|array, A returned
+A::test4(): Return value must be of type B|array, A returned
-Return value of {closure}() must be of type static, stdClass returned
+{closure}(): Return value must be of type static, stdClass returned
object(A)#1 (0) {
}
object(P)#2 (0) {
}
-Fatal error: Uncaught TypeError: Return value of C::test() must be of type P, C returned in %s:%d
+Fatal error: Uncaught TypeError: C::test(): Return value must be of type P, C returned in %s:%d
Stack trace:
#0 %s(%d): C->test(Object(C))
#1 {main}
false => Argument ... must be of type int|float, bool given
null => Argument ... must be of type int|float, null given
[] => Argument ... must be of type int|float, array given
-new stdClass => Argument ... must be of type int|float, object given
-new WithToString => Argument ... must be of type int|float, object given
+new stdClass => Argument ... must be of type int|float, stdClass given
+new WithToString => Argument ... must be of type int|float, WithToString given
Type int|float|false:
42 => 42
false => false
null => Argument ... must be of type int|float|false, null given
[] => Argument ... must be of type int|float|false, array given
-new stdClass => Argument ... must be of type int|float|false, object given
-new WithToString => Argument ... must be of type int|float|false, object given
+new stdClass => Argument ... must be of type int|float|false, stdClass given
+new WithToString => Argument ... must be of type int|float|false, WithToString given
Type int|float|bool:
42 => 42
false => false
null => Argument ... must be of type int|float|bool, null given
[] => Argument ... must be of type int|float|bool, array given
-new stdClass => Argument ... must be of type int|float|bool, object given
-new WithToString => Argument ... must be of type int|float|bool, object given
+new stdClass => Argument ... must be of type int|float|bool, stdClass given
+new WithToString => Argument ... must be of type int|float|bool, WithToString given
Type int|bool:
42 => 42
false => false
null => Argument ... must be of type int|bool, null given
[] => Argument ... must be of type int|bool, array given
-new stdClass => Argument ... must be of type int|bool, object given
-new WithToString => Argument ... must be of type int|bool, object given
+new stdClass => Argument ... must be of type int|bool, stdClass given
+new WithToString => Argument ... must be of type int|bool, WithToString given
Type int|string|null:
42 => 42
false => Argument ... must be of type string|int|null, bool given
null => null
[] => Argument ... must be of type string|int|null, array given
-new stdClass => Argument ... must be of type string|int|null, object given
-new WithToString => Argument ... must be of type string|int|null, object given
+new stdClass => Argument ... must be of type string|int|null, stdClass given
+new WithToString => Argument ... must be of type string|int|null, WithToString given
Type string|bool:
42 => Argument ... must be of type string|bool, int given
false => false
null => Argument ... must be of type string|bool, null given
[] => Argument ... must be of type string|bool, array given
-new stdClass => Argument ... must be of type string|bool, object given
-new WithToString => Argument ... must be of type string|bool, object given
+new stdClass => Argument ... must be of type string|bool, stdClass given
+new WithToString => Argument ... must be of type string|bool, WithToString given
Type float|array:
42 => 42.0
false => Argument ... must be of type array|float, bool given
null => Argument ... must be of type array|float, null given
[] => []
-new stdClass => Argument ... must be of type array|float, object given
-new WithToString => Argument ... must be of type array|float, object given
+new stdClass => Argument ... must be of type array|float, stdClass given
+new WithToString => Argument ... must be of type array|float, WithToString given
Type string|array:
42 => Argument ... must be of type array|string, int given
false => Argument ... must be of type array|string, bool given
null => Argument ... must be of type array|string, null given
[] => []
-new stdClass => Argument ... must be of type array|string, object given
-new WithToString => Argument ... must be of type array|string, object given
+new stdClass => Argument ... must be of type array|string, stdClass given
+new WithToString => Argument ... must be of type array|string, WithToString given
Type bool|array:
42 => Argument ... must be of type array|bool, int given
false => false
null => Argument ... must be of type array|bool, null given
[] => []
-new stdClass => Argument ... must be of type array|bool, object given
-new WithToString => Argument ... must be of type array|bool, object given
+new stdClass => Argument ... must be of type array|bool, stdClass given
+new WithToString => Argument ... must be of type array|bool, WithToString given
false => 0
null => Argument ... must be of type int|float, null given
[] => Argument ... must be of type int|float, array given
-new stdClass => Argument ... must be of type int|float, object given
-new WithToString => Argument ... must be of type int|float, object given
+new stdClass => Argument ... must be of type int|float, stdClass given
+new WithToString => Argument ... must be of type int|float, WithToString given
Type int|float|false:
42 => 42
false => false
null => Argument ... must be of type int|float|false, null given
[] => Argument ... must be of type int|float|false, array given
-new stdClass => Argument ... must be of type int|float|false, object given
-new WithToString => Argument ... must be of type int|float|false, object given
+new stdClass => Argument ... must be of type int|float|false, stdClass given
+new WithToString => Argument ... must be of type int|float|false, WithToString given
Type int|float|bool:
42 => 42
false => false
null => Argument ... must be of type int|float|bool, null given
[] => Argument ... must be of type int|float|bool, array given
-new stdClass => Argument ... must be of type int|float|bool, object given
-new WithToString => Argument ... must be of type int|float|bool, object given
+new stdClass => Argument ... must be of type int|float|bool, stdClass given
+new WithToString => Argument ... must be of type int|float|bool, WithToString given
Type int|bool:
42 => 42
false => false
null => Argument ... must be of type int|bool, null given
[] => Argument ... must be of type int|bool, array given
-new stdClass => Argument ... must be of type int|bool, object given
-new WithToString => Argument ... must be of type int|bool, object given
+new stdClass => Argument ... must be of type int|bool, stdClass given
+new WithToString => Argument ... must be of type int|bool, WithToString given
Type int|string|null:
42 => 42
false => 0
null => null
[] => Argument ... must be of type string|int|null, array given
-new stdClass => Argument ... must be of type string|int|null, object given
+new stdClass => Argument ... must be of type string|int|null, stdClass given
new WithToString => "__toString()"
Type string|bool:
false => false
null => Argument ... must be of type string|bool, null given
[] => Argument ... must be of type string|bool, array given
-new stdClass => Argument ... must be of type string|bool, object given
+new stdClass => Argument ... must be of type string|bool, stdClass given
new WithToString => "__toString()"
Type float|array:
false => 0.0
null => Argument ... must be of type array|float, null given
[] => []
-new stdClass => Argument ... must be of type array|float, object given
-new WithToString => Argument ... must be of type array|float, object given
+new stdClass => Argument ... must be of type array|float, stdClass given
+new WithToString => Argument ... must be of type array|float, WithToString given
Type string|array:
42 => "42"
false => ""
null => Argument ... must be of type array|string, null given
[] => []
-new stdClass => Argument ... must be of type array|string, object given
+new stdClass => Argument ... must be of type array|string, stdClass given
new WithToString => "__toString()"
Type bool|array:
false => false
null => Argument ... must be of type array|bool, null given
[] => []
-new stdClass => Argument ... must be of type array|bool, object given
-new WithToString => Argument ... must be of type array|bool, object given
+new stdClass => Argument ... must be of type array|bool, stdClass given
+new WithToString => Argument ... must be of type array|bool, WithToString given
Stack trace:
#0 %s(60): iterableF(1)
#1 {main}
-TypeError: intF(): Argument #1 ($param) must be of type ?int, object given, called in %s:%d
+TypeError: intF(): Argument #1 ($param) must be of type ?int, stdClass given, called in %s:%d
Stack trace:
#0 %s(68): intF(Object(stdClass))
#1 {main}
-TypeError: Return value of returnUnloadedClass() must be of type ?I\Dont\Exist, stdClass returned in %s:74
+TypeError: returnUnloadedClass(): Return value must be of type ?I\Dont\Exist, stdClass returned in %s:%d
Stack trace:
#0 %s(78): returnUnloadedClass()
#1 {main}
-TypeError: Return value of returnLoadedClass() must be of type ?RealClass, stdClass returned in %s:84
+TypeError: returnLoadedClass(): Return value must be of type ?RealClass, stdClass returned in %s:%d
Stack trace:
#0 %s(88): returnLoadedClass()
#1 {main}
-TypeError: Return value of returnLoadedInterface() must be of type ?RealInterface, stdClass returned in %s:94
+TypeError: returnLoadedInterface(): Return value must be of type ?RealInterface, stdClass returned in %s:%d
Stack trace:
#0 %s(98): returnLoadedInterface()
#1 {main}
-TypeError: Return value of returnUnloadedClassScalar() must be of type ?I\Dont\Exist, int returned in %s:104
+TypeError: returnUnloadedClassScalar(): Return value must be of type ?I\Dont\Exist, int returned in %s:%d
Stack trace:
#0 %s(108): returnUnloadedClassScalar()
#1 {main}
-TypeError: Return value of returnLoadedClassScalar() must be of type ?RealClass, int returned in %s:114
+TypeError: returnLoadedClassScalar(): Return value must be of type ?RealClass, int returned in %s:%d
Stack trace:
#0 %s(118): returnLoadedClassScalar()
#1 {main}
-TypeError: Return value of returnLoadedInterfaceScalar() must be of type ?RealInterface, int returned in %s:124
+TypeError: returnLoadedInterfaceScalar(): Return value must be of type ?RealInterface, int returned in %s:%d
Stack trace:
#0 %s(128): returnLoadedInterfaceScalar()
#1 {main}
-TypeError: Return value of returnCallable() must be of type ?callable, int returned in %s:134
+TypeError: returnCallable(): Return value must be of type ?callable, int returned in %s:%d
Stack trace:
#0 %s(138): returnCallable()
#1 {main}
-TypeError: Return value of returnIterable() must be of type ?iterable, int returned in %s:144
+TypeError: returnIterable(): Return value must be of type ?iterable, int returned in %s:%d
Stack trace:
#0 %s(148): returnIterable()
#1 {main}
-TypeError: Return value of returnInt() must be of type ?int, object returned in %s:154
+TypeError: returnInt(): Return value must be of type ?int, stdClass returned in %s:%d
Stack trace:
#0 %s(158): returnInt()
#1 {main}
-TypeError: Return value of returnMissingUnloadedClass() must be of type ?I\Dont\Exist, none returned in %s:164
+TypeError: returnMissingUnloadedClass(): Return value must be of type ?I\Dont\Exist, none returned in %s:%d
Stack trace:
#0 %s(167): returnMissingUnloadedClass()
#1 {main}
-TypeError: Return value of returnMissingLoadedClass() must be of type ?RealClass, none returned in %s:173
+TypeError: returnMissingLoadedClass(): Return value must be of type ?RealClass, none returned in %s:%d
Stack trace:
#0 %s(176): returnMissingLoadedClass()
#1 {main}
-TypeError: Return value of returnMissingLoadedInterface() must be of type ?RealInterface, none returned in %s:182
+TypeError: returnMissingLoadedInterface(): Return value must be of type ?RealInterface, none returned in %s:%d
Stack trace:
#0 %s(185): returnMissingLoadedInterface()
#1 {main}
-TypeError: Return value of returnMissingCallable() must be of type ?callable, none returned in %s:191
+TypeError: returnMissingCallable(): Return value must be of type ?callable, none returned in %s:%d
Stack trace:
#0 %s(194): returnMissingCallable()
#1 {main}
-TypeError: Return value of returnMissingIterable() must be of type ?iterable, none returned in %s:200
+TypeError: returnMissingIterable(): Return value must be of type ?iterable, none returned in %s:%d
Stack trace:
#0 %s(203): returnMissingIterable()
#1 {main}
-TypeError: Return value of returnMissingInt() must be of type ?int, none returned in %s:209
+TypeError: returnMissingInt(): Return value must be of type ?int, none returned in %s:%d
Stack trace:
#0 %s(212): returnMissingInt()
#1 {main}
{
ZVAL_DEREF(arg);
- return Z_ISUNDEF_P(arg) ? "null" : zend_get_type_by_const(Z_TYPE_P(arg));
+ if (Z_ISUNDEF_P(arg)) {
+ return "null";
+ }
+
+ if (Z_TYPE_P(arg) == IS_OBJECT) {
+ return ZSTR_VAL(Z_OBJCE_P(arg)->name);
+ }
+
+ return zend_get_type_by_const(Z_TYPE_P(arg));
}
/* }}} */
*need_msg = zend_type_to_string_resolved(arg_info->type, zf->common.scope);
if (value) {
- zend_bool has_class = ZEND_TYPE_HAS_CLASS(arg_info->type)
- || (ZEND_TYPE_FULL_MASK(arg_info->type) & MAY_BE_STATIC);
- if (has_class && Z_TYPE_P(value) == IS_OBJECT) {
- *given_kind = ZSTR_VAL(Z_OBJCE_P(value)->name);
- } else {
- *given_kind = zend_zval_type_name(value);
- }
+ *given_kind = zend_zval_type_name(value);
} else {
*given_kind = "none";
}
type_str = zend_type_to_string(info->type);
zend_type_error("Cannot assign %s to property %s::$%s of type %s",
- Z_TYPE_P(property) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(property)->name) : zend_zval_type_name(property),
+ zend_zval_type_name(property),
ZSTR_VAL(info->ce->name),
zend_get_unmangled_property_name(info->name),
ZSTR_VAL(type_str));
zf, arg_info, cache_slot, value,
&fname, &fsep, &fclass, &need_msg, &given_msg);
- zend_type_error("Return value of %s%s%s() must be of type %s, %s returned",
+ zend_type_error("%s%s%s(): Return value must be of type %s, %s returned",
fclass, fsep, fname, ZSTR_VAL(need_msg), given_msg);
zend_string_release(need_msg);
zf, arg_info, cache_slot, value,
&fname, &fsep, &fclass, &need_msg, &given_msg);
- zend_error_noreturn(E_CORE_ERROR, "Return value of %s%s%s() must be of type %s, %s returned",
+ zend_error_noreturn(E_CORE_ERROR, "%s%s%s(): Return value must be of type %s, %s returned",
fclass, fsep, fname, ZSTR_VAL(need_msg), given_msg);
}
zend_string *type1_str = zend_type_to_string(prop1->type);
zend_string *type2_str = zend_type_to_string(prop2->type);
zend_type_error("Reference with value of type %s held by property %s::$%s of type %s is not compatible with property %s::$%s of type %s",
- Z_TYPE_P(zv) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(zv)->name) : zend_zval_type_name(zv),
+ zend_zval_type_name(zv),
ZSTR_VAL(prop1->ce->name),
zend_get_unmangled_property_name(prop1->name),
ZSTR_VAL(type1_str),
ZEND_API ZEND_COLD void zend_throw_ref_type_error_zval(zend_property_info *prop, zval *zv) {
zend_string *type_str = zend_type_to_string(prop->type);
zend_type_error("Cannot assign %s to reference held by property %s::$%s of type %s",
- Z_TYPE_P(zv) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(zv)->name) : zend_zval_type_name(zv),
+ zend_zval_type_name(zv),
ZSTR_VAL(prop->ce->name),
zend_get_unmangled_property_name(prop->name),
ZSTR_VAL(type_str)
zend_string *type1_str = zend_type_to_string(prop1->type);
zend_string *type2_str = zend_type_to_string(prop2->type);
zend_type_error("Cannot assign %s to reference held by property %s::$%s of type %s and property %s::$%s of type %s, as this would result in an inconsistent type conversion",
- Z_TYPE_P(zv) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(zv)->name) : zend_zval_type_name(zv),
+ zend_zval_type_name(zv),
ZSTR_VAL(prop1->ce->name),
zend_get_unmangled_property_name(prop1->name),
ZSTR_VAL(type1_str),
}
int(0)
-Fatal error: Uncaught TypeError: timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, object given in %s:%d
+Fatal error: Uncaught TypeError: timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, DateTime given in %s:%d
Stack trace:
#0 %s(%d): timezone_offset_get(Object(DateTime), Object(DateTimeZone))
#1 {main}
["timezone"]=>
string(13) "Europe/London"
}
-DateTimeImmutable::createFromMutable(): Argument #1 ($object) must be of type DateTime, object given
+DateTimeImmutable::createFromMutable(): Argument #1 ($object) must be of type DateTime, DateTimeImmutable given
string(13) "Europe/London"
}
bool(true)
-DateTime::createFromImmutable(): Argument #1 ($object) must be of type DateTimeImmutable, object given
+DateTime::createFromImmutable(): Argument #1 ($object) must be of type DateTimeImmutable, DateTime given
}
?>
--EXPECT--
-strtotime(): Argument #2 ($now) must be of type ?int, object given
+strtotime(): Argument #2 ($now) must be of type ?int, DateTime given
--> bad arg: object(stdClass)#%d (0) {
}
-microtime(): Argument #1 ($get_as_float) must be of type bool, object given
+microtime(): Argument #1 ($get_as_float) must be of type bool, stdClass given
--> bad arg: int(1)
float(%s)
*** Testing timezone_offset_get() : error conditions ***
-- Testing timezone_offset_get() function with an invalid values for $object argument --
-string(87) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, object given"
+string(89) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, stdClass given"
string(84) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, int given"
-- Testing timezone_offset_get() function with an invalid values for $datetime argument --
-string(94) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, object given"
+string(96) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, stdClass given"
string(91) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, int given"
NumberFormatter::format(): Argument #1 ($value) must be of type int|float, string given
string(1) "1"
string(1) "0"
-NumberFormatter::format(): Argument #1 ($value) must be of type int|float, object given
+NumberFormatter::format(): Argument #1 ($value) must be of type int|float, NumberFormatter given
--EXPECT--
error: 0, IntlCalendar::equals() expects exactly 1 parameter, 0 given
-error: 0, IntlCalendar::equals(): Argument #1 ($calendar) must be of type IntlCalendar, object given
+error: 0, IntlCalendar::equals(): Argument #1 ($calendar) must be of type IntlCalendar, stdClass given
error: 0, IntlCalendar::equals() expects exactly 1 parameter, 2 given
bool(true)
libxml_set_streams_context(): Argument #1 ($context) must be of type resource, int given
bool(true)
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, object given
+libxml_set_streams_context(): Argument #1 ($context) must be of type resource, stdClass given
bool(true)
libxml_set_streams_context(): Argument #1 ($context) must be of type resource, array given
bool(true)
--heredoc--
ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must be 'none', 'long', 'entity' or a valid codepoint
--instance of classWithToString--
-TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, object given
+TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, classWithToString given
--instance of classWithoutToString--
-TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, object given
+TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, classWithoutToString given
--undefined var--
int(12345)
--unset var--
--instance of classWithToString--
ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must be 'none', 'long', 'entity' or a valid codepoint
--instance of classWithoutToString--
-TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, object given
+TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, classWithoutToString given
--undefined var--
int(0)
--unset var--
?>
--EXPECTF--
mysqli object is not fully initialized
-[0] mysqli_result::fetch_object(): Argument #1 ($class_name) must be of type string, object given in %s on line %d
+[0] mysqli_result::fetch_object(): Argument #1 ($class_name) must be of type string, mysqli given in %s on line %d
[0] mysqli_result::fetch_object() expects at most 2 parameters, 3 given in %s on line %d
[0] mysqli_result::fetch_object(): Argument #2 ($params) must be of type array, null given in %s on line %d
Exception: Too few arguments to function mysqli_fetch_object_construct::__construct(), 1 passed and exactly 2 expected
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test() must be of type iterable, object returned in %s:%d
+Fatal error: Uncaught TypeError: test(): Return value must be of type iterable, stdClass returned in %s:%d
Stack trace:
#0 %s(%d): test(Object(stdClass))
#1 {main}
try {
test1(1);
} catch (Error $e) {
- echo "Error: {$e->getMessage()}\n";
+ echo $e->getMessage() . "\n";
}
class Foo {}
try {
test2();
} catch (Error $e) {
- echo "Error: {$e->getMessage()}\n";
+ echo $e->getMessage() . "\n";
}
?>
--EXPECT--
-Error: Return value of test1() must be of type callable, string returned
-Error: Return value of test2() must be of type Foo, stdClass returned
+test1(): Return value must be of type callable, string returned
+test2(): Return value must be of type Foo, stdClass returned
[2]=>
string(4) "test"
}
-preg_grep(): Argument #1 ($regex) must be of type string, object given
+preg_grep(): Argument #1 ($regex) must be of type string, stdClass given
Done
string(1) "t"
}
}
-preg_match_all(): Argument #1 ($pattern) must be of type string, object given
+preg_match_all(): Argument #1 ($pattern) must be of type string, stdClass given
NULL
Arg value is /[a-zA-Z]/
int(1)
-preg_match(): Argument #1 ($pattern) must be of type string, object given
+preg_match(): Argument #1 ($pattern) must be of type string, stdClass given
Arg value is: Array
preg_match(): Argument #2 ($subject) must be of type string, array given
-preg_match(): Argument #2 ($subject) must be of type string, object given
+preg_match(): Argument #2 ($subject) must be of type string, stdClass given
Done
[2]=>
string(4) " 5 6"
}
-preg_split(): Argument #1 ($pattern) must be of type string, object given
+preg_split(): Argument #1 ($pattern) must be of type string, stdClass given
Method 1.5 does not exist
Method 1 does not exist
ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, array given
-ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, object given
+ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, C given
Property 1.5 does not exist
Property 1 does not exist
ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, array given
-ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, object given
+ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, C given
?>
--EXPECTF--
Call to private ReflectionReference::__construct() from invalid context
-ReflectionReference::fromArrayElement(): Argument #1 ($array) must be of type array, object given
+ReflectionReference::fromArrayElement(): Argument #1 ($array) must be of type array, stdClass given
ReflectionReference::fromArrayElement(): Argument #2 ($key) must be of type string|int, float given
Array key not found
Serialization of 'ReflectionReference' is not allowed
--EXPECT--
*** Testing session_set_save_handler() function: interface wrong ***
bool(true)
-session_set_save_handler(): Argument #1 ($open) must be of type SessionHandlerInterface, object given
+session_set_save_handler(): Argument #1 ($open) must be of type SessionHandlerInterface, MySession2 given
good handler writing
?>
--EXPECT--
-Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, object given
+Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, SplFixedArray given
?>
--EXPECT--
-Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, object given
+Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, stdClass given
Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, string given
Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, string given
===1===
object(stdClass)#%d (0) {
}
-CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, object given
-CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, object given
+CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, stdClass given
+CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, stdClass given
===2===
object(MyFoo)#%d (0) {
}
===1===
object(stdClass)#1 (0) {
}
-CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, object given
-CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, object given
+CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, stdClass given
+CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, stdClass given
===2===
object(MyFoo)#2 (0) {
}
}
?>
--EXPECT--
-RecursiveCachingIterator::__construct(): Argument #1 ($iterator) must be of type RecursiveIterator, object given
+RecursiveCachingIterator::__construct(): Argument #1 ($iterator) must be of type RecursiveIterator, ArrayIterator given
array_diff_assoc(): Argument #1 ($arr1) must be of type array, string given
-- Iteration 23 --
-array_diff_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_diff_assoc(): Argument #1 ($arr1) must be of type array, classA given
-- Iteration 24 --
array_diff_assoc(): Argument #1 ($arr1) must be of type array, null given
array_diff_assoc(): Argument #2 ($arr2) must be of type array, string given
-- Iteration 23 --
-array_diff_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_diff_assoc(): Argument #2 ($arr2) must be of type array, classA given
-- Iteration 24 --
array_diff_assoc(): Argument #2 ($arr2) must be of type array, null given
array_diff_key(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_diff_key(): Argument #1 ($arr1) must be of type array, null given
array_diff_key(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_diff_key(): Argument #2 ($arr2) must be of type array, null given
array_diff_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_diff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_diff_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_diff_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_diff_uassoc(): Argument #1 ($arr1) must be of type array, null given
array_diff_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_diff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_diff_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_diff_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_diff_uassoc(): Argument #2 ($arr2) must be of type array, null given
array_diff_ukey(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_diff_ukey(): Argument #1 ($arr1) must be of type array, null given
array_diff_ukey(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_diff_ukey(): Argument #2 ($arr2) must be of type array, null given
-- Iteration 22 --array_diff(): Argument #1 ($arr1) must be of type array, string given
--- Iteration 23 --array_diff(): Argument #1 ($arr1) must be of type array, object given
+-- Iteration 23 --array_diff(): Argument #1 ($arr1) must be of type array, classA given
-- Iteration 24 --array_diff(): Argument #1 ($arr1) must be of type array, null given
-- Iteration 22 --array_diff(): Argument #2 ($arr2) must be of type array, string given
--- Iteration 23 --array_diff(): Argument #2 ($arr2) must be of type array, object given
+-- Iteration 23 --array_diff(): Argument #2 ($arr2) must be of type array, classA given
-- Iteration 24 --array_diff(): Argument #2 ($arr2) must be of type array, null given
-- Iteration 20 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, string given
array_intersect_assoc(): Argument #1 ($arr1) must be of type array, string given
--- Iteration 21 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_assoc(): Argument #1 ($arr1) must be of type array, object given
+-- Iteration 21 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, classA given
+array_intersect_assoc(): Argument #1 ($arr1) must be of type array, classA given
-- Iteration 22 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, null given
array_intersect_assoc(): Argument #1 ($arr1) must be of type array, null given
-- Iteration 20 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, string given
array_intersect_assoc(): Argument #2 ($arr2) must be of type array, string given
--- Iteration 21 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_assoc(): Argument #2 ($arr2) must be of type array, object given
+-- Iteration 21 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, classA given
+array_intersect_assoc(): Argument #2 ($arr2) must be of type array, classA given
-- Iteration 22 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, null given
array_intersect_assoc(): Argument #2 ($arr2) must be of type array, null given
array_intersect_key(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_intersect_key(): Argument #1 ($arr1) must be of type array, null given
array_intersect_key(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_intersect_key(): Argument #2 ($arr2) must be of type array, null given
array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, null given
array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, null given
array_intersect_ukey(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_intersect_ukey(): Argument #1 ($arr1) must be of type array, null given
array_intersect_ukey(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_intersect_ukey(): Argument #2 ($arr2) must be of type array, null given
-- Iterator 20 --array_intersect(): Argument #1 ($arr1) must be of type array, string given
array_intersect(): Argument #1 ($arr1) must be of type array, string given
--- Iterator 21 --array_intersect(): Argument #1 ($arr1) must be of type array, object given
-array_intersect(): Argument #1 ($arr1) must be of type array, object given
+-- Iterator 21 --array_intersect(): Argument #1 ($arr1) must be of type array, classA given
+array_intersect(): Argument #1 ($arr1) must be of type array, classA given
-- Iterator 22 --array_intersect(): Argument #1 ($arr1) must be of type array, null given
array_intersect(): Argument #1 ($arr1) must be of type array, null given
-- Iterator 20 --array_intersect(): Argument #2 ($arr2) must be of type array, string given
array_intersect(): Argument #2 ($arr2) must be of type array, string given
--- Iterator 21 --array_intersect(): Argument #2 ($arr2) must be of type array, object given
-array_intersect(): Argument #2 ($arr2) must be of type array, object given
+-- Iterator 21 --array_intersect(): Argument #2 ($arr2) must be of type array, classA given
+array_intersect(): Argument #2 ($arr2) must be of type array, classA given
-- Iterator 22 --array_intersect(): Argument #2 ($arr2) must be of type array, null given
array_intersect(): Argument #2 ($arr2) must be of type array, null given
Illegal offset type
*** Testing operation on objects ***
-array_key_exists(): Argument #2 ($array) must be of type array, object given
+array_key_exists(): Argument #2 ($array) must be of type array, key_check given
Done
-- With more arguments --array_merge_recursive(): Argument #1 must be of type array, resource given
-- Iteration 24 --
--- With default argument --array_merge_recursive(): Argument #1 must be of type array, object given
--- With more arguments --array_merge_recursive(): Argument #1 must be of type array, object given
+-- With default argument --array_merge_recursive(): Argument #1 must be of type array, A given
+-- With more arguments --array_merge_recursive(): Argument #1 must be of type array, A given
Done
-- Iteration 23 --array_merge_recursive(): Argument #2 must be of type array, resource given
--- Iteration 24 --array_merge_recursive(): Argument #2 must be of type array, object given
+-- Iteration 24 --array_merge_recursive(): Argument #2 must be of type array, A given
Done
array_merge(): Argument #2 must be of type array, string given
-- Iteration 22 --
-array_merge(): Argument #2 must be of type array, object given
+array_merge(): Argument #2 must be of type array, classA given
-- Iteration 23 --
array_merge(): Argument #2 must be of type array, null given
int(5)
*** Testing objects with array_search() ***
-array_search(): Argument #2 ($haystack) must be of type array, object given
-array_search(): Argument #2 ($haystack) must be of type array, object given
+array_search(): Argument #2 ($haystack) must be of type array, array_search_check given
+array_search(): Argument #2 ($haystack) must be of type array, array_search_check given
int(1)
Done
array_udiff_assoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_udiff_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_assoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_assoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_udiff_assoc(): Argument #1 ($arr1) must be of type array, null given
array_udiff_assoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_udiff_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_assoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_assoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_udiff_assoc(): Argument #2 ($arr2) must be of type array, null given
array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, null given
array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, null given
array_udiff(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_udiff(): Argument #1 ($arr1) must be of type array, object given
+array_udiff(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff(): Argument #1 ($arr1) must be of type array, object given
+array_udiff(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_udiff(): Argument #1 ($arr1) must be of type array, null given
array_udiff(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_udiff(): Argument #2 ($arr2) must be of type array, object given
+array_udiff(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff(): Argument #2 ($arr2) must be of type array, object given
+array_udiff(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_udiff(): Argument #2 ($arr2) must be of type array, null given
array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, null given
array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, null given
array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, null given
array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, null given
array_uintersect(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_uintersect(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_uintersect(): Argument #1 ($arr1) must be of type array, null given
array_uintersect(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_uintersect(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_uintersect(): Argument #2 ($arr2) must be of type array, null given
echo "Done\n";
?>
--EXPECT--
-array_unique(): Argument #1 ($arg) must be of type array, object given
+array_unique(): Argument #1 ($arg) must be of type array, ArrayObject given
Done
bool(true)
*** Testing objects with in_array() ***
-in_array(): Argument #2 ($haystack) must be of type array, object given
-in_array(): Argument #2 ($haystack) must be of type array, object given
+in_array(): Argument #2 ($haystack) must be of type array, in_array_check given
+in_array(): Argument #2 ($haystack) must be of type array, in_array_check given
bool(true)
Done
--EXPECT--
max(): Argument #1 ($arg) must be of type array, int given
max(): Argument #1 ($arg) must contain at least one element
-max(): Argument #1 ($arg) must be of type array, object given
+max(): Argument #1 ($arg) must be of type array, stdClass given
int(2)
float(2.11)
string(1) "t"
--EXPECT--
min(): Argument #1 ($arg) must be of type array, int given
min(): Argument #1 ($arg) must contain at least one element
-min(): Argument #1 ($arg) must be of type array, object given
+min(): Argument #1 ($arg) must be of type array, stdClass given
int(1)
float(2.09)
string(0) ""
abs(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 13 --
-abs(): Argument #1 ($number) must be of type int|float, object given
+abs(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 14 --
int(0)
ceil(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 13 --
-ceil(): Argument #1 ($number) must be of type int|float, object given
+ceil(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 14 --
float(0)
floor(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 13 --
-floor(): Argument #1 ($number) must be of type int|float, object given
+floor(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 14 --
float(0)
int(0)
-- Iteration 23 --
-Unsupported operand types: object ** int
+Unsupported operand types: classA ** int
-- Iteration 24 --
int(0)
int(0)
-- Iteration 23 --
-Unsupported operand types: object ** int
+Unsupported operand types: classA ** int
-- Iteration 24 --
int(0)
float(1)
-- Iteration 23 --
-Unsupported operand types: float ** object
+Unsupported operand types: float ** classA
-- Iteration 24 --
float(1)
round(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 23 --
-round(): Argument #1 ($number) must be of type int|float, object given
+round(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 24 --
float(0)
var_dump(!empty($res) && empty($additional));
?>
--EXPECT--
-bool(false)
+bool(true)
Warning: Array to string conversion in %s on line %d
password_hash(): Argument #2 ($algo) must be a valid password hashing algorithm
-password_hash(): Argument #3 ($options) must be of type array, object given
+password_hash(): Argument #3 ($options) must be of type array, stdClass given
password_hash(): Argument #3 ($options) must be of type array, string given
password_hash(): Argument #1 ($password) must be of type string, array given
-- Iteration 15 --
join(): Argument #2 ($pieces) must be of type array, string given
-- Iteration 16 --
-join(): Argument #2 ($pieces) must be of type array, object given
+join(): Argument #2 ($pieces) must be of type array, test given
-- Iteration 17 --
join(): Argument #2 ($pieces) must be of type array, string given
-- Iteration 18 --
vprintf(): Argument #2 ($args) must be of type array, string given
-- Iteration 20 --
-vprintf(): Argument #2 ($args) must be of type array, object given
+vprintf(): Argument #2 ($args) must be of type array, sample given
-- Iteration 21 --
vprintf(): Argument #2 ($args) must be of type array, null given
"address=\"%p\" refcount=\"%d\" type=\"%s\" name=\"%.*s\" " attrs, \
"%-18p %-7d %-9s %.*s" msg, &data->value, \
Z_REFCOUNTED(data->value) ? Z_REFCOUNT(data->value) : 1, \
- zend_zval_type_name(&data->value), \
+ zend_get_type_by_const(Z_TYPE(data->value)), \
(int) ZSTR_LEN(data->name), ZSTR_VAL(data->name), ##__VA_ARGS__)
switch (Z_TYPE(data->value)) {
#define VARIABLEINFO(attrs, msg, ...) \
phpdbg_writeln("variable", \
"address=\"%p\" refcount=\"%d\" type=\"%s\" refstatus=\"%s\" name=\"%.*s\" " attrs, \
- "%-18p %-7d %-9s %s$%.*s" msg, data, Z_REFCOUNTED_P(data) ? Z_REFCOUNT_P(data) : 1, zend_zval_type_name(data), isref, (int) ZSTR_LEN(var), ZSTR_VAL(var), ##__VA_ARGS__)
+ "%-18p %-7d %-9s %s$%.*s" msg, data, Z_REFCOUNTED_P(data) ? Z_REFCOUNT_P(data) : 1, zend_get_type_by_const(Z_TYPE_P(data)), isref, (int) ZSTR_LEN(var), ZSTR_VAL(var), ##__VA_ARGS__)
retry_switch:
switch (Z_TYPE_P(data)) {
case IS_RESOURCE:
object(test3)#2 (0) {
}
test3::__toString()
-Return value of test3::__toString() must be of type string, array returned
+test3::__toString(): Return value must be of type string, array returned
====DONE====
--EXPECT--
Object with no __toString():
Try 1:
-printf(): Argument #1 ($format) must be of type string, object given
+printf(): Argument #1 ($format) must be of type string, stdClass given
Try 2:
Object with bad __toString():
Try 1:
-Return value of badToString::__toString() must be of type string, array returned
+badToString::__toString(): Return value must be of type string, array returned
Try 2:
-Return value of badToString::__toString() must be of type string, array returned
+badToString::__toString(): Return value must be of type string, array returned