3v4l.org

run code in 300+ PHP versions simultaneously
<?php define( 'SIZES', array_flip([ "116", "128", "140", "152", "164", "XXS", "XS", "S", "M", "L", "XL", "XXL", "XXXL", "XXXXL", "XXXXXL" ]) ); $array = [ ['id' => 613, 'maat' => 'maat XL', 'sort' => 0], ['id' => 614, 'maat' => 'maat XXL', 'sort' => 1], ['id' => 620, 'maat' => 'maat XL', 'sort' => 2], ['id' => 621, 'maat' => 'maat 152', 'sort' => 0], ['id' => 623, 'maat' => 'maat S', 'sort' => 1], ['id' => 643, 'maat' => 'maat XL', 'sort' => 1], ]; uasort( $array, fn($a, $b) => [SIZES[substr($a['maat'], 5)], $a['sort']] <=> [SIZES[substr($b['maat'], 5)], $b['sort']] ); var_export($array);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 3 => array ( 'id' => 621, 'maat' => 'maat 152', 'sort' => 0, ), 4 => array ( 'id' => 623, 'maat' => 'maat S', 'sort' => 1, ), 0 => array ( 'id' => 613, 'maat' => 'maat XL', 'sort' => 0, ), 5 => array ( 'id' => 643, 'maat' => 'maat XL', 'sort' => 1, ), 2 => array ( 'id' => 620, 'maat' => 'maat XL', 'sort' => 2, ), 1 => array ( 'id' => 614, 'maat' => 'maat XXL', 'sort' => 1, ), )

preferences:
82.23 ms | 408 KiB | 5 Q