3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); final readonly class Time { private function __construct( private int $seconds, ) {} public static function fromSeconds(int $seconds): self { return new self($seconds); } } // false var_dump(Time::fromSeconds(0) === Time::fromSeconds(0)); // true var_dump(Time::fromSeconds(0) == Time::fromSeconds(0)); var_dump(Time::fromSeconds(1) > Time::fromSeconds(0)); var_dump(Time::fromSeconds(1) >= Time::fromSeconds(1)); var_dump(Time::fromSeconds(0) < Time::fromSeconds(1)); var_dump(Time::fromSeconds(1) <= Time::fromSeconds(1));
Output for 8.2.21 - 8.2.24, 8.3.5 - 8.3.12
bool(false) bool(true) bool(true) bool(true) bool(true) bool(true)
Output for 8.1.30
Parse error: syntax error, unexpected token "readonly", expecting "abstract" or "final" or "class" in /in/WhbBv on line 5
Process exited with code 255.

preferences:
53.06 ms | 406 KiB | 5 Q