3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); class R { function isError(): bool { return true; } } class S { function doSomething($input): R { return new R; } } function needBool(bool $b) { var_dump($b); } $input = "str"; $service = new S; $shouldStop = ($result = $service->doSomething($input)) && $result->isError(); needBool($shouldStop);
Output for 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
bool(true)

preferences:
49.15 ms | 845 KiB | 4 Q