3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Model { protected $comments; public function __construct() { $this->comments = new class { public function count() { return rand(1, 20); } }; } } class CommentCount { private $count; public function __construct(int $count) { $this->count = $count; } public function getCount(): int { return $this->count; } } class Post extends Model { public function commentCount(): CommentCount { return new CommentCount($this->comments->count()); } } $post = new Post(); $commentCount = $post->commentCount(); var_dump($commentCount->getCount()); var_dump($commentCount->getCount()); var_dump($commentCount->getCount()); var_dump($commentCount->getCount()); var_dump($commentCount->getCount());
Output for 7.2.3, 7.4.5
int(9) int(9) int(9) int(9) int(9)
Output for 7.3.4, 7.3.12, 7.4.4
int(13) int(13) int(13) int(13) int(13)
Output for 7.2.10 - 7.2.11, 7.4.3
int(6) int(6) int(6) int(6) int(6)
Output for 7.3.15, 7.4.2
int(7) int(7) int(7) int(7) int(7)
Output for 7.2.8, 7.4.1
int(5) int(5) int(5) int(5) int(5)
Output for 7.2.21, 7.4.0
int(2) int(2) int(2) int(2) int(2)
Output for 7.2.4, 7.3.0 - 7.3.1, 7.3.17
int(15) int(15) int(15) int(15) int(15)
Output for 7.2.2, 7.2.7, 7.2.18, 7.3.3, 7.3.16
int(8) int(8) int(8) int(8) int(8)
Output for 7.2.16, 7.3.13 - 7.3.14
int(18) int(18) int(18) int(18) int(18)
Output for 7.3.11
int(16) int(16) int(16) int(16) int(16)
Output for 7.2.6, 7.2.14, 7.3.10
int(10) int(10) int(10) int(10) int(10)
Output for 7.2.13, 7.2.24, 7.3.9
int(14) int(14) int(14) int(14) int(14)
Output for 7.2.19, 7.2.28, 7.3.5, 7.3.8
int(19) int(19) int(19) int(19) int(19)
Output for 7.3.6 - 7.3.7
int(20) int(20) int(20) int(20) int(20)
Output for 7.2.27, 7.3.2
int(4) int(4) int(4) int(4) int(4)
Output for 7.2.5, 7.2.9, 7.2.15, 7.2.29
int(17) int(17) int(17) int(17) int(17)
Output for 7.2.17, 7.2.26
int(12) int(12) int(12) int(12) int(12)
Output for 7.2.0 - 7.2.1, 7.2.12, 7.2.23, 7.2.25
int(11) int(11) int(11) int(11) int(11)
Output for 7.2.22
int(3) int(3) int(3) int(3) int(3)
Output for 7.2.20
int(1) int(1) int(1) int(1) int(1)

preferences:
46.38 ms | 433 KiB | 5 Q