3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Customer { public $score; public function __construct($score) { $this->score = $score; } } $customers = []; $customers[] = new Customer(13); $customers[] = new Customer(11); $customers[] = new Customer(14); $customers[] = new Customer(10); $customers[] = new Customer(12.5); usort($customers, function($a, $b) { var_dump($b->score, $a->score, $b->score - $a->score); return $b->score - $a->score; }); var_dump($customers);
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
int(11) int(13) int(-2) int(14) int(11) int(3) int(14) int(13) int(1) int(10) int(11) int(-1) float(12.5) int(10) float(2.5) float(12.5) int(11) float(1.5) float(12.5) int(13) float(-0.5) array(5) { [0]=> object(Customer)#3 (1) { ["score"]=> int(14) } [1]=> object(Customer)#1 (1) { ["score"]=> int(13) } [2]=> object(Customer)#5 (1) { ["score"]=> float(12.5) } [3]=> object(Customer)#2 (1) { ["score"]=> int(11) } [4]=> object(Customer)#4 (1) { ["score"]=> int(10) } }
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 int(11) int(13) int(-2) int(14) int(11) int(3) int(14) int(13) int(1) int(10) int(11) int(-1) float(12.5) int(10) float(2.5) float(12.5) int(11) float(1.5) float(12.5) int(13) float(-0.5) array(5) { [0]=> object(Customer)#3 (1) { ["score"]=> int(14) } [1]=> object(Customer)#1 (1) { ["score"]=> int(13) } [2]=> object(Customer)#5 (1) { ["score"]=> float(12.5) } [3]=> object(Customer)#2 (1) { ["score"]=> int(11) } [4]=> object(Customer)#4 (1) { ["score"]=> int(10) } }
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
int(11) int(14) int(-3) int(14) float(12.5) float(1.5) int(14) int(10) int(4) int(14) int(13) int(1) int(14) int(11) int(3) int(11) int(13) int(-2) int(13) float(12.5) float(0.5) int(13) int(10) int(3) int(10) int(11) int(-1) array(5) { [0]=> object(Customer)#3 (1) { ["score"]=> int(14) } [1]=> object(Customer)#5 (1) { ["score"]=> float(12.5) } [2]=> object(Customer)#1 (1) { ["score"]=> int(13) } [3]=> object(Customer)#2 (1) { ["score"]=> int(11) } [4]=> object(Customer)#4 (1) { ["score"]=> int(10) } }

preferences:
163.94 ms | 403 KiB | 228 Q