3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Thing { public function __call($name, $params) { return 'foo'; } } function can_be_string($var) { return $var === null || is_scalar($var) || is_callable([$var, '__toString']); } $a = new Thing; var_dump(can_be_string($a)); (string) $a;

preferences:
22.48 ms | 402 KiB | 5 Q