<?php
enum E: string {
case A = 'a';
case B = 'b';
case C = 'c';
case D = 'd';
}
var_dump(
'a' > 'b',
'a' < 'b',
E::A > E::B,
E::A < E::B,
E::A <=> E::B,
E::B <=> E::A,
);
$x = [
E::D,
E::C,
E::A,
E::B,
];
usort($x, fn ($a, $b) => $a <=> $b);
var_dump($x);
usort($x, fn ($a, $b) => $a <=> $b);
var_dump($x);
- Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.23, 8.4.1 - 8.4.10
- bool(false)
bool(true)
bool(false)
bool(false)
int(1)
int(1)
array(4) {
[0]=>
enum(E::B)
[1]=>
enum(E::C)
[2]=>
enum(E::A)
[3]=>
enum(E::D)
}
array(4) {
[0]=>
enum(E::D)
[1]=>
enum(E::C)
[2]=>
enum(E::A)
[3]=>
enum(E::B)
}
preferences:
47.26 ms | 407 KiB | 5 Q