Czy widzicie Elvisa w statku kosmicznym?
usort( $data, fn(array $a, array $b) => $a['label'] <=> $b['label'] ?: $a['id'] <=> $b['id'] )
Gdzie jest Elvis? Elvis tudzież „Elvis operator” to potoczna nazwa operatora warunkowego ?:
który zwraca pierwsze wyrażenie, którego wartość jest prawdziwa. Z kolei statek kosmiczny (ang. „spaceship operator”) to potoczna nazwa operatora <=>
który dokonuje trójstronnego porównania wartości.
Powyższy kawałek kodu sortuję tablicę $data
po kluczu label
, a w wypadku gdy wartości label
są identyczne dodatkowo po kluczu id
. Dzięki Elvisowi i statkom kosmicznym kod jest bardzo zwięzły.