3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array( array ( "name"=> "apples", "position"=> "1", "basket"=> "2", ), array( "name"=> "potatoes", "position"=> "2", "basket"=> "1", ), array( "name"=> "onions", "position"=> "1", "basket"=> "1", ), array( "name"=> "oranges", "position"=> "3", "basket"=> "2", ), array( "name"=> "tomatoes", "position"=> "4", "basket"=> "1" ), array( "name"=> "grapes", "position"=> "5", "basket"=> "2", ), array( "name"=> "avocado", "position"=> "2", "basket"=> "2", ), array( "name"=> "bean", "position"=> "5", "basket"=> "1", ), array( "name"=> "pineapple", "position"=> "4", "basket"=> "2", ), array( "name"=> "pepper", "position"=> "3", "basket"=> "1", ), ); uasort($array, function($a,$b) { return $a['basket'] - $b['basket'] ?: $a['position'] - $b['position']; }); print_r($array);
Output for 7.0.0 - 7.0.23, 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.19, 8.3.0 - 8.3.7
Array ( [2] => Array ( [name] => onions [position] => 1 [basket] => 1 ) [1] => Array ( [name] => potatoes [position] => 2 [basket] => 1 ) [9] => Array ( [name] => pepper [position] => 3 [basket] => 1 ) [4] => Array ( [name] => tomatoes [position] => 4 [basket] => 1 ) [7] => Array ( [name] => bean [position] => 5 [basket] => 1 ) [0] => Array ( [name] => apples [position] => 1 [basket] => 2 ) [6] => Array ( [name] => avocado [position] => 2 [basket] => 2 ) [3] => Array ( [name] => oranges [position] => 3 [basket] => 2 ) [8] => Array ( [name] => pineapple [position] => 4 [basket] => 2 ) [5] => Array ( [name] => grapes [position] => 5 [basket] => 2 ) )

preferences:
144.78 ms | 406 KiB | 225 Q