3v4l.org

run code in 300+ PHP versions simultaneously
<?php $numbers = ['10 Apple', '2 Grapes', '3 Apples', '3.2 Apples', '3.1 Apples', '3.3 Apples', '3.10 Apples', '3.11 Apples', 'Lots of Apples']; usort( $numbers, fn($a, $b) => (sscanf($a, '%f')[0] ?? PHP_INT_MAX) <=> (sscanf($b, '%f')[0] ?? PHP_INT_MAX) ); var_export($numbers);
Output for 8.1.32, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 0 => '2 Grapes', 1 => '3 Apples', 2 => '3.1 Apples', 3 => '3.10 Apples', 4 => '3.11 Apples', 5 => '3.2 Apples', 6 => '3.3 Apples', 7 => '10 Apple', 8 => 'Lots of Apples', )

preferences:
61.76 ms | 406 KiB | 5 Q