3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface StrategyInterface { public function run(); } class Strategy implements StrategyInterface { protected ?string $value = null; public function __construct(private Closure $closure) { $this->value = (string) rand(1, 100); } public function run() { $this->closure->call($this); } } for ($i = 0; $i < 10; $i++) { $strategy = new Strategy(function() { var_dump($this->value); }); $strategy->run(); }
Output for 8.3.1
string(2) "30" string(2) "99" string(2) "60" string(2) "78" string(2) "45" string(2) "81" string(2) "93" string(2) "99" string(2) "27" string(2) "72"
Output for 8.3.0
string(2) "12" string(1) "1" string(2) "61" string(2) "93" string(2) "27" string(2) "81" string(2) "91" string(2) "88" string(2) "72" string(1) "6"
Output for 8.2.14
string(2) "44" string(2) "97" string(2) "95" string(2) "98" string(2) "88" string(2) "16" string(2) "10" string(2) "47" string(2) "84" string(2) "17"
Output for 8.2.13
string(2) "61" string(2) "57" string(2) "17" string(2) "35" string(2) "10" string(2) "39" string(2) "22" string(2) "28" string(2) "90" string(1) "1"
Output for 8.2.12
string(2) "97" string(2) "83" string(2) "64" string(2) "70" string(1) "9" string(2) "18" string(2) "77" string(2) "73" string(2) "71" string(2) "28"
Output for 8.2.11
string(2) "91" string(2) "70" string(2) "25" string(2) "78" string(2) "89" string(2) "12" string(2) "50" string(2) "22" string(2) "59" string(2) "70"
Output for 8.2.10
string(1) "6" string(2) "51" string(2) "80" string(1) "9" string(2) "14" string(2) "93" string(1) "6" string(2) "91" string(2) "98" string(2) "71"
Output for 8.2.9
string(2) "86" string(2) "54" string(2) "69" string(2) "44" string(2) "90" string(2) "63" string(2) "74" string(2) "61" string(2) "75" string(2) "74"
Output for 8.2.8
string(2) "16" string(2) "42" string(2) "25" string(2) "69" string(2) "80" string(2) "30" string(2) "25" string(2) "48" string(1) "6" string(2) "26"
Output for 8.2.7
string(2) "56" string(1) "4" string(2) "84" string(2) "42" string(2) "35" string(2) "75" string(2) "18" string(2) "99" string(2) "80" string(2) "97"
Output for 8.2.6
string(2) "70" string(2) "73" string(2) "54" string(2) "85" string(2) "21" string(2) "73" string(3) "100" string(2) "22" string(2) "44" string(2) "57"
Output for 8.2.5
string(2) "66" string(2) "42" string(2) "57" string(2) "48" string(1) "6" string(2) "40" string(2) "50" string(2) "91" string(2) "20" string(2) "57"
Output for 8.2.4
string(2) "11" string(2) "93" string(2) "83" string(2) "88" string(2) "92" string(2) "25" string(2) "25" string(1) "8" string(2) "59" string(2) "55"
Output for 8.2.3
string(2) "45" string(2) "58" string(2) "63" string(2) "99" string(2) "71" string(2) "76" string(3) "100" string(2) "61" string(2) "17" string(2) "18"
Output for 8.2.2
string(2) "62" string(2) "91" string(2) "49" string(2) "33" string(2) "89" string(2) "47" string(2) "42" string(1) "4" string(1) "2" string(2) "65"
Output for 8.2.1
string(2) "59" string(2) "93" string(2) "31" string(2) "64" string(2) "30" string(2) "75" string(2) "77" string(2) "29" string(2) "36" string(2) "50"
Output for 8.2.0
string(2) "52" string(2) "96" string(2) "25" string(2) "56" string(2) "59" string(1) "6" string(2) "35" string(1) "4" string(2) "75" string(2) "10"
Output for 8.1.27
string(2) "75" string(2) "60" string(1) "9" string(2) "16" string(2) "96" string(2) "50" string(2) "78" string(2) "72" string(2) "39" string(2) "86"
Output for 8.1.26
string(2) "21" string(1) "6" string(2) "96" string(2) "12" string(2) "29" string(2) "52" string(2) "99" string(2) "93" string(2) "13" string(2) "37"
Output for 8.1.25
string(2) "30" string(2) "96" string(1) "7" string(2) "28" string(1) "8" string(2) "72" string(2) "24" string(2) "30" string(2) "22" string(2) "68"
Output for 8.1.24
string(2) "10" string(2) "70" string(2) "21" string(2) "32" string(2) "68" string(2) "45" string(2) "78" string(2) "47" string(2) "62" string(2) "31"
Output for 8.1.23
string(2) "50" string(2) "23" string(2) "10" string(1) "5" string(2) "32" string(2) "39" string(2) "84" string(2) "46" string(2) "39" string(2) "44"
Output for 8.1.22
string(1) "3" string(2) "51" string(2) "99" string(2) "62" string(2) "44" string(2) "35" string(2) "64" string(1) "2" string(2) "28" string(2) "41"
Output for 8.1.21
string(1) "3" string(2) "83" string(2) "15" string(2) "53" string(2) "64" string(2) "52" string(2) "16" string(2) "73" string(2) "76" string(2) "19"
Output for 8.1.20
string(2) "60" string(1) "4" string(2) "95" string(2) "94" string(2) "89" string(2) "21" string(2) "17" string(2) "55" string(2) "57" string(1) "1"
Output for 8.1.19
string(2) "86" string(2) "79" string(2) "97" string(2) "81" string(2) "30" string(2) "80" string(2) "93" string(2) "73" string(2) "72" string(1) "4"
Output for 8.1.18
string(2) "14" string(2) "48" string(2) "31" string(2) "81" string(2) "38" string(1) "5" string(2) "36" string(2) "93" string(2) "38" string(2) "14"
Output for 8.1.17
string(2) "38" string(2) "59" string(2) "50" string(2) "86" string(2) "16" string(2) "70" string(2) "17" string(2) "98" string(2) "89" string(2) "90"
Output for 8.1.16
string(2) "36" string(2) "91" string(2) "61" string(2) "41" string(2) "53" string(2) "64" string(2) "42" string(2) "67" string(2) "61" string(2) "45"
Output for 8.1.15
string(2) "47" string(2) "61" string(2) "79" string(2) "10" string(2) "70" string(2) "46" string(2) "30" string(2) "24" string(2) "27" string(2) "35"
Output for 8.1.14
string(2) "89" string(2) "80" string(2) "15" string(2) "41" string(2) "51" string(2) "15" string(2) "83" string(2) "73" string(1) "5" string(2) "22"
Output for 8.1.13
string(2) "23" string(2) "36" string(2) "50" string(2) "98" string(2) "80" string(2) "56" string(2) "50" string(2) "81" string(2) "20" string(2) "14"
Output for 8.1.12
string(2) "13" string(1) "9" string(2) "61" string(2) "64" string(2) "61" string(2) "91" string(2) "77" string(2) "34" string(2) "20" string(2) "47"
Output for 8.1.11
string(2) "40" string(2) "97" string(2) "26" string(2) "55" string(2) "91" string(2) "65" string(2) "50" string(2) "12" string(2) "43" string(2) "60"
Output for 8.1.10
string(2) "93" string(2) "92" string(2) "93" string(2) "46" string(1) "2" string(2) "60" string(2) "24" string(2) "20" string(2) "77" string(2) "64"
Output for 8.1.9
string(2) "40" string(2) "56" string(1) "2" string(2) "78" string(2) "72" string(2) "96" string(2) "17" string(2) "63" string(2) "98" string(2) "56"
Output for 8.1.8
string(2) "99" string(2) "65" string(2) "86" string(2) "79" string(2) "22" string(2) "27" string(2) "33" string(2) "19" string(2) "50" string(2) "66"
Output for 8.1.7
string(2) "83" string(2) "94" string(2) "43" string(2) "52" string(2) "21" string(2) "88" string(2) "91" string(2) "15" string(2) "92" string(2) "97"
Output for 8.1.6
string(1) "3" string(2) "91" string(1) "8" string(2) "76" string(2) "94" string(2) "25" string(2) "88" string(2) "26" string(2) "62" string(1) "1"
Output for 8.1.5
string(2) "84" string(2) "11" string(2) "68" string(2) "21" string(2) "48" string(2) "36" string(2) "64" string(2) "44" string(2) "92" string(2) "16"
Output for 8.1.4
string(1) "9" string(2) "90" string(2) "21" string(2) "20" string(2) "82" string(2) "26" string(2) "72" string(2) "96" string(2) "42" string(2) "83"
Output for 8.1.3
string(2) "69" string(2) "70" string(2) "78" string(2) "69" string(1) "4" string(2) "62" string(2) "13" string(2) "50" string(2) "28" string(2) "81"
Output for 8.1.2
string(2) "48" string(2) "25" string(2) "46" string(2) "54" string(2) "43" string(2) "66" string(2) "16" string(2) "60" string(2) "48" string(2) "37"
Output for 8.1.1
string(2) "52" string(2) "78" string(2) "63" string(2) "92" string(2) "79" string(2) "49" string(2) "32" string(2) "19" string(2) "27" string(2) "26"
Output for 8.1.0
string(2) "62" string(2) "63" string(2) "60" string(2) "55" string(2) "28" string(2) "31" string(2) "65" string(2) "22" string(2) "50" string(2) "85"

preferences:
72.13 ms | 401 KiB | 50 Q