mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Improve type error messages when an object is given
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
This commit is contained in:
parent
38c85efe83
commit
fbe30592d6
134 changed files with 751 additions and 750 deletions
|
@ -20,9 +20,9 @@ var_dump($c);
|
|||
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
|
||||
|
|
|
@ -20,9 +20,9 @@ var_dump($c);
|
|||
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
|
||||
|
|
|
@ -64,6 +64,6 @@ try {
|
|||
--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!
|
||||
|
|
|
@ -16,4 +16,4 @@ try {
|
|||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
Cannot increment object
|
||||
Cannot increment ReflectionMethod
|
||||
|
|
|
@ -56,7 +56,7 @@ float(1.5)
|
|||
NULL
|
||||
bool(true)
|
||||
bool(false)
|
||||
Cannot decrement object
|
||||
Cannot decrement stdClass
|
||||
object(stdClass)#%d (0) {
|
||||
}
|
||||
Cannot decrement array
|
||||
|
|
|
@ -56,7 +56,7 @@ float(1.5)
|
|||
NULL
|
||||
bool(true)
|
||||
bool(false)
|
||||
Cannot decrement object
|
||||
Cannot decrement stdClass
|
||||
object(stdClass)#1 (0) {
|
||||
}
|
||||
Cannot decrement array
|
||||
|
|
|
@ -8,7 +8,7 @@ throw new Hello(new stdClass);
|
|||
|
||||
?>
|
||||
--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}
|
||||
|
|
|
@ -7,7 +7,7 @@ throw new Exception(new stdClass);
|
|||
|
||||
?>
|
||||
--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}
|
||||
|
|
|
@ -8,7 +8,7 @@ throw new MyErrorException(new stdClass);
|
|||
|
||||
?>
|
||||
--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}
|
||||
|
|
|
@ -8,7 +8,7 @@ throw new Hello(new stdClass);
|
|||
|
||||
?>
|
||||
--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}
|
||||
|
|
|
@ -7,7 +7,7 @@ throw new Error(new stdClass);
|
|||
|
||||
?>
|
||||
--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}
|
||||
|
|
|
@ -12,7 +12,7 @@ $gen->throw(new stdClass);
|
|||
|
||||
?>
|
||||
--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}
|
||||
|
|
|
@ -56,7 +56,7 @@ float(3.5)
|
|||
int(1)
|
||||
bool(true)
|
||||
bool(false)
|
||||
Cannot increment object
|
||||
Cannot increment stdClass
|
||||
object(stdClass)#%d (0) {
|
||||
}
|
||||
Cannot increment array
|
||||
|
|
|
@ -18,7 +18,7 @@ new bar(new \stdclass);
|
|||
--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}
|
||||
|
|
|
@ -18,7 +18,7 @@ $three = new class extends Two {
|
|||
};
|
||||
$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}
|
||||
|
|
|
@ -8,7 +8,7 @@ function a() : object {
|
|||
}
|
||||
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}
|
||||
|
|
|
@ -18,7 +18,7 @@ $three = new class extends Two {
|
|||
};
|
||||
$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}
|
||||
|
|
|
@ -18,7 +18,7 @@ $three = new class implements Two {
|
|||
};
|
||||
$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}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -7,7 +7,7 @@ function test1() : array {
|
|||
|
||||
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}
|
||||
|
|
|
@ -8,7 +8,7 @@ function test1() : array {
|
|||
|
||||
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}
|
||||
|
|
|
@ -7,7 +7,7 @@ function test1() : array {
|
|||
}
|
||||
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}
|
||||
|
|
|
@ -8,7 +8,7 @@ function test1() : array {
|
|||
|
||||
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}
|
||||
|
|
|
@ -13,7 +13,7 @@ class qux {
|
|||
$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}
|
||||
|
|
|
@ -9,7 +9,7 @@ function &foo(array &$in) : array {
|
|||
$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}
|
||||
|
|
|
@ -14,7 +14,7 @@ class foo {
|
|||
$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}
|
||||
|
|
|
@ -17,4 +17,4 @@ try {
|
|||
|
||||
?>
|
||||
--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
|
||||
|
|
|
@ -21,7 +21,7 @@ Stack trace:
|
|||
#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}
|
||||
|
|
|
@ -16,7 +16,7 @@ foo(0);
|
|||
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}
|
||||
|
|
|
@ -16,4 +16,4 @@ try {
|
|||
}
|
||||
?>
|
||||
--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"
|
||||
|
|
|
@ -16,7 +16,7 @@ function boom(): array {
|
|||
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}
|
||||
|
|
|
@ -10,5 +10,5 @@ if (!PHP_DEBUG) die('skip requires debug build');
|
|||
<?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
|
||||
|
|
|
@ -9,7 +9,7 @@ function get_config(): array {
|
|||
|
||||
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}
|
||||
|
|
|
@ -8,7 +8,7 @@ function foo(): DateTime {
|
|||
|
||||
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}
|
||||
|
|
|
@ -167,7 +167,7 @@ string(3) "bar"
|
|||
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();"
|
||||
|
|
|
@ -38,6 +38,6 @@ try {
|
|||
|
||||
?>
|
||||
--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
|
||||
|
|
|
@ -29,4 +29,4 @@ array(0) {
|
|||
}
|
||||
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
|
||||
|
|
|
@ -15,6 +15,5 @@ try {
|
|||
}
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Return value of foo() must be of type mixed, none returned
|
||||
|
||||
--EXPECT--
|
||||
foo(): Return value must be of type mixed, none returned
|
||||
|
|
|
@ -15,4 +15,4 @@ try {
|
|||
|
||||
?>
|
||||
--EXPECT--
|
||||
Return value of foo() must be of type mixed, none returned
|
||||
foo(): Return value must be of type mixed, none returned
|
||||
|
|
|
@ -104,11 +104,11 @@ int(0)
|
|||
|
||||
*** 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
|
||||
|
@ -158,11 +158,11 @@ float(0)
|
|||
|
||||
*** 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
|
||||
|
@ -211,7 +211,7 @@ string(0) ""
|
|||
|
||||
*** 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) {
|
||||
}
|
||||
|
@ -264,11 +264,11 @@ bool(false)
|
|||
|
||||
*** 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
|
||||
|
|
|
@ -75,30 +75,30 @@ int(1)
|
|||
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)
|
||||
|
@ -113,9 +113,9 @@ float(1.5)
|
|||
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)
|
||||
|
@ -125,18 +125,18 @@ float(1)
|
|||
*** 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)
|
||||
|
@ -162,18 +162,18 @@ string(1) "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)
|
||||
|
@ -199,17 +199,17 @@ bool(true)
|
|||
*** 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
|
||||
|
|
|
@ -75,30 +75,30 @@ int(1)
|
|||
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)
|
||||
|
@ -113,9 +113,9 @@ float(1.5)
|
|||
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)
|
||||
|
@ -125,18 +125,18 @@ float(1)
|
|||
*** 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)
|
||||
|
@ -162,18 +162,18 @@ string(1) "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)
|
||||
|
@ -199,17 +199,17 @@ bool(true)
|
|||
*** 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
|
||||
|
|
|
@ -98,11 +98,11 @@ int(2147483647)
|
|||
|
||||
*** 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
|
||||
|
@ -151,11 +151,11 @@ float(NAN)
|
|||
|
||||
*** 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
|
||||
|
@ -204,11 +204,11 @@ string(0) ""
|
|||
|
||||
*** 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
|
||||
|
@ -257,11 +257,11 @@ bool(false)
|
|||
|
||||
*** 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
|
||||
|
|
|
@ -98,11 +98,11 @@ int(9223372036854775807)
|
|||
|
||||
*** 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
|
||||
|
@ -151,11 +151,11 @@ float(NAN)
|
|||
|
||||
*** 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
|
||||
|
@ -204,11 +204,11 @@ string(0) ""
|
|||
|
||||
*** 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
|
||||
|
@ -257,11 +257,11 @@ bool(false)
|
|||
|
||||
*** 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
|
||||
|
|
|
@ -75,7 +75,7 @@ int(1)
|
|||
*** 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
|
||||
|
@ -104,7 +104,7 @@ float(1)
|
|||
*** 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
|
||||
|
@ -133,7 +133,7 @@ string(1) "1"
|
|||
*** 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
|
||||
|
@ -162,7 +162,7 @@ bool(false)
|
|||
*** 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
|
||||
|
|
|
@ -75,7 +75,7 @@ object(B)#3 (0) {
|
|||
|
||||
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) {
|
||||
}
|
||||
|
@ -84,8 +84,8 @@ object(C)#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) {
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ object(P)#2 (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}
|
||||
|
|
|
@ -79,8 +79,8 @@ true => Argument ... must be of type int|float, bool given
|
|||
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
|
||||
|
@ -95,8 +95,8 @@ true => Argument ... must be of type int|float|false, bool given
|
|||
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
|
||||
|
@ -111,8 +111,8 @@ true => true
|
|||
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
|
||||
|
@ -127,8 +127,8 @@ true => true
|
|||
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
|
||||
|
@ -143,8 +143,8 @@ true => Argument ... must be of type string|int|null, bool given
|
|||
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
|
||||
|
@ -159,8 +159,8 @@ true => true
|
|||
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
|
||||
|
@ -175,8 +175,8 @@ true => Argument ... must be of type array|float, bool given
|
|||
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
|
||||
|
@ -191,8 +191,8 @@ true => Argument ... must be of type array|string, bool 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
|
||||
|
@ -207,5 +207,5 @@ true => true
|
|||
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
|
||||
|
|
|
@ -77,8 +77,8 @@ true => 1
|
|||
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
|
||||
|
@ -93,8 +93,8 @@ true => 1
|
|||
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
|
||||
|
@ -109,8 +109,8 @@ true => true
|
|||
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
|
||||
|
@ -125,8 +125,8 @@ true => true
|
|||
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
|
||||
|
@ -141,7 +141,7 @@ true => 1
|
|||
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:
|
||||
|
@ -157,7 +157,7 @@ true => true
|
|||
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:
|
||||
|
@ -173,8 +173,8 @@ true => 1.0
|
|||
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"
|
||||
|
@ -189,7 +189,7 @@ true => "1"
|
|||
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:
|
||||
|
@ -205,5 +205,5 @@ true => true
|
|||
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
|
||||
|
|
|
@ -251,67 +251,67 @@ TypeError: iterableF(): Argument #1 ($param) must be of type ?iterable, int give
|
|||
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}
|
||||
|
|
|
@ -136,7 +136,15 @@ ZEND_API const char *zend_zval_type_name(const zval *arg) /* {{{ */
|
|||
{
|
||||
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));
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
|
|
@ -663,13 +663,7 @@ static ZEND_COLD void zend_verify_type_error_common(
|
|||
*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";
|
||||
}
|
||||
|
@ -849,7 +843,7 @@ ZEND_COLD zend_never_inline void zend_verify_property_type_error(zend_property_i
|
|||
|
||||
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));
|
||||
|
@ -1187,7 +1181,7 @@ ZEND_API ZEND_COLD void zend_verify_return_error(
|
|||
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);
|
||||
|
@ -1206,7 +1200,7 @@ static ZEND_COLD void zend_verify_internal_return_error(
|
|||
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);
|
||||
}
|
||||
|
||||
|
@ -2952,7 +2946,7 @@ ZEND_API ZEND_COLD void zend_throw_ref_type_error_type(zend_property_info *prop1
|
|||
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),
|
||||
|
@ -2967,7 +2961,7 @@ ZEND_API ZEND_COLD void zend_throw_ref_type_error_type(zend_property_info *prop1
|
|||
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)
|
||||
|
@ -2979,7 +2973,7 @@ ZEND_API ZEND_COLD void zend_throw_conflicting_coercion_error(zend_property_info
|
|||
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),
|
||||
|
|
|
@ -33,7 +33,7 @@ object(DateTimeZone)#%d (2) {
|
|||
}
|
||||
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}
|
||||
|
|
|
@ -24,4 +24,4 @@ object(DateTimeImmutable)#%d (3) {
|
|||
["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
|
||||
|
|
|
@ -30,4 +30,4 @@ object(DateTime)#%d (3) {
|
|||
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
|
||||
|
|
|
@ -10,4 +10,4 @@ try {
|
|||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
strtotime(): Argument #2 ($now) must be of type ?int, object given
|
||||
strtotime(): Argument #2 ($now) must be of type ?int, DateTime given
|
||||
|
|
|
@ -51,7 +51,7 @@ microtime(): Argument #1 ($get_as_float) must be of type bool, array 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)
|
||||
|
|
|
@ -65,7 +65,7 @@ try {
|
|||
*** 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"
|
||||
|
||||
|
@ -73,7 +73,7 @@ string(85) "timezone_offset_get(): Argument #1 ($object) must be of type DateTim
|
|||
|
||||
|
||||
-- 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"
|
||||
|
||||
|
|
|
@ -19,4 +19,4 @@ foreach (['', 1, NULL, $x] as $value) {
|
|||
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
|
||||
|
|
|
@ -47,7 +47,7 @@ try {
|
|||
--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
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ libxml_set_streams_context(): Argument #1 ($context) must be of type resource, s
|
|||
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)
|
||||
|
|
|
@ -166,9 +166,9 @@ ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must
|
|||
--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--
|
||||
|
|
|
@ -167,7 +167,7 @@ ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must
|
|||
--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--
|
||||
|
|
|
@ -130,7 +130,7 @@ require_once('skipifconnectfailure.inc');
|
|||
?>
|
||||
--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
|
||||
|
|
|
@ -10,7 +10,7 @@ test(new stdClass);
|
|||
|
||||
?>
|
||||
--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}
|
||||
|
|
|
@ -19,7 +19,7 @@ function test1($x) : callable {
|
|||
try {
|
||||
test1(1);
|
||||
} catch (Error $e) {
|
||||
echo "Error: {$e->getMessage()}\n";
|
||||
echo $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
class Foo {}
|
||||
|
@ -31,10 +31,10 @@ function test2() : 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
|
||||
|
|
|
@ -66,5 +66,5 @@ array(2) {
|
|||
[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
|
||||
|
|
|
@ -80,5 +80,5 @@ array(1) {
|
|||
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
|
||||
|
|
|
@ -60,4 +60,4 @@ preg_match(): Argument #1 ($pattern) must be of type string, array given
|
|||
|
||||
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
|
||||
|
|
|
@ -36,5 +36,5 @@ int(1)
|
|||
|
||||
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
|
||||
|
|
|
@ -67,4 +67,4 @@ array(3) {
|
|||
[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
|
||||
|
|
|
@ -63,4 +63,4 @@ Method 1 does not exist
|
|||
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
|
||||
|
|
|
@ -61,4 +61,4 @@ Property 1 does not exist
|
|||
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
|
||||
|
|
|
@ -41,7 +41,7 @@ var_dump(unserialize('O:19:"ReflectionReference":0:{}'));
|
|||
?>
|
||||
--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
|
||||
|
|
|
@ -86,5 +86,5 @@ session_start();
|
|||
--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
|
||||
|
|
|
@ -12,4 +12,4 @@ try {
|
|||
|
||||
?>
|
||||
--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
|
||||
|
|
|
@ -23,6 +23,6 @@ try {
|
|||
|
||||
?>
|
||||
--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
|
||||
|
|
|
@ -83,8 +83,8 @@ NULL
|
|||
===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) {
|
||||
}
|
||||
|
@ -124,8 +124,8 @@ int(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) {
|
||||
}
|
||||
|
|
|
@ -9,4 +9,4 @@ try {
|
|||
}
|
||||
?>
|
||||
--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
|
||||
|
|
|
@ -172,7 +172,7 @@ array_diff_assoc(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -172,7 +172,7 @@ array_diff_assoc(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -192,12 +192,12 @@ array_diff_key(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -193,12 +193,12 @@ array_diff_key(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -179,10 +179,10 @@ array_diff_uassoc(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -179,10 +179,10 @@ array_diff_uassoc(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -200,12 +200,12 @@ array_diff_ukey(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -204,12 +204,12 @@ array_diff_ukey(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -150,7 +150,7 @@ echo "Done";
|
|||
|
||||
-- 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
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ echo "Done";
|
|||
|
||||
-- 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
|
||||
|
||||
|
|
|
@ -179,8 +179,8 @@ array_intersect_assoc(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -180,8 +180,8 @@ array_intersect_assoc(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -196,12 +196,12 @@ array_intersect_key(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -197,12 +197,12 @@ array_intersect_key(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -204,12 +204,12 @@ array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, string give
|
|||
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
|
||||
|
|
|
@ -204,12 +204,12 @@ array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, string give
|
|||
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
|
||||
|
|
|
@ -202,12 +202,12 @@ array_intersect_ukey(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -202,12 +202,12 @@ array_intersect_ukey(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -178,8 +178,8 @@ array_intersect(): Argument #1 ($arr1) must be of type array, string 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
|
||||
|
|
|
@ -179,8 +179,8 @@ array_intersect(): Argument #2 ($arr2) must be of type array, string 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
|
||||
|
|
|
@ -224,5 +224,5 @@ bool(true)
|
|||
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
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue