--TEST-- Test method_exists() function : usage variations - unexpected type for arg 1 --FILE-- 'red', 'item' => 'pen'), // null data NULL, null, // boolean data true, false, TRUE, FALSE, // empty data "", '', // string data "string", 'String', // undefined data $undefined_var, // unset data $unset_var, ); // loop through each element of the array for object foreach($values as $value) { echo "\nArg value $value \n"; try { var_dump( method_exists($value, $method) ); } catch (TypeError $e) { echo $e->getMessage(), PHP_EOL; } }; echo "Done"; ?> --EXPECT-- *** Testing method_exists() : usage variations *** Error: 2 - Undefined variable $undefined_var Error: 2 - Undefined variable $unset_var Arg value 0 method_exists(): Argument #1 ($object_or_class) must be of type object|string, int given Arg value 1 method_exists(): Argument #1 ($object_or_class) must be of type object|string, int given Arg value 12345 method_exists(): Argument #1 ($object_or_class) must be of type object|string, int given Arg value -2345 method_exists(): Argument #1 ($object_or_class) must be of type object|string, int given Arg value 10.5 method_exists(): Argument #1 ($object_or_class) must be of type object|string, float given Arg value -10.5 method_exists(): Argument #1 ($object_or_class) must be of type object|string, float given Arg value 101234567000 method_exists(): Argument #1 ($object_or_class) must be of type object|string, float given Arg value 1.07654321E-9 method_exists(): Argument #1 ($object_or_class) must be of type object|string, float given Arg value 0.5 method_exists(): Argument #1 ($object_or_class) must be of type object|string, float given Error: 2 - Array to string conversion Arg value Array method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given Error: 2 - Array to string conversion Arg value Array method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given Error: 2 - Array to string conversion Arg value Array method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given Error: 2 - Array to string conversion Arg value Array method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given Error: 2 - Array to string conversion Arg value Array method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given Arg value method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given Arg value method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given Arg value 1 method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given Arg value method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given Arg value 1 method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given Arg value method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given Arg value bool(false) Arg value bool(false) Arg value string In autoload(string) bool(false) Arg value String In autoload(String) bool(false) Arg value method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given Arg value method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given Done