<?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